当前位置:首页>

文章列表

>

MySQL

MySQL开启慢查询

查看慢查日志是否开启: -> show variables like '%slow%'; -> show variables like '%log_queries%'; log_queries_not_using_indexes      OFF #是否将没有使用索引的sql,记录进慢查日志中 slow_query_log          OFF #慢查日志是否开启 slow_query_log_file      /var/lib/mysql/mysql-slow.log #查看慢查日志的存储位置 long_query_time 10.000000  #查看超过多长时间的sql会被记录进入慢查日志中

陈承阳时间:2018-01-03 20:44:55 分类:MySQL阅读全文

MySQL中的int(1)和tinyint(1)

问题:int(1) 和 tinyint(1) 有什么区别呢? `flag` int(1) NOT NULL DEFAULT '0' , `flag` tinyint(1) NOT NULL DEFAULT '0', 扩展知识点: - int(1) 和 tinyint(1) int类型占4个字节,tinyint占1个字节。  smallint 两个字节,MEDIUMINT 三个字节 - int(1) 和 int(4) 所占的存储空间都是一样,它存储的范围始终是 -2^31 到 2^31 - 1 - int(1) 和 int(4) 列制定了zerofill 就会用0填充显示,int(1)显示为1;int(4)显示为0001; - int(1) 和 int(4) 后面括号中的数字,表示数字的显示宽度,不表示长度 - varchar(32

陈承阳时间:2017-12-27 21:12:04 分类:MySQL阅读全文

MySQL分区分表

========== 水平分区(根据列属性按行分) 举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录。 ==== 水平分区的几种模式 - Range(范围) – 这种模式允许DBA将数据划分不同范围。例如DBA可以将一个表通过年份划分成三个分区,80年代(1980's)的数据,90年代(1990's)的数据以及任何在2000年(包括2000年)后的数据。 - Hash(哈希) – 这中模式允许DBA通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区,。例如DBA可以建立一个对表主键进行分区的表。 - Key(键值) – 上面Hash模式的一种延伸,这里的Hash Key是MySQL系统产生的。 - List(预定义列表) – 这种模式允许系统通过

陈承阳时间:2017-12-26 19:35:07 分类:MySQL阅读全文

MySQL复制

========== MySQL 支持两种复制方式:     基于行的复制     基于语句的复制 ========== 复制解决的问题:     数据分布(如不同的地理位置)     负载均衡(将读操作分布到多个服务器上,实现对读密集型应用的优化)     备份(复制是对备份的技术补充)     高可用性和故障切换(可以避免MySQL单点失败)     MySQL升级测试 ========== 复制机制 1、在主库上把数据更改记录存到二进制日志(Binary Log)中 2、备库将主库上的日志复制到自己的中继日志(Relay Log)中 3、

陈承阳时间:2017-12-24 23:19:03 分类:MySQL阅读全文

MySQL索引语句

#建表时添加 CREATE TABLE `member` (   `id` int(11) unsigned NOT NULL AUTO_INCREMENT,   `code` varchar(32) NOT NULL,   `name` varchar(32) NOT NULL,   PRIMARY KEY (`shop_id`),   KEY `codename` (`code,name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; #建表后添加 alter table member add index codename(`code,name`); alter table member add unique (`id`) ; alter table member add p

陈承阳时间:2017-12-12 22:51:14 分类:MySQL阅读全文

MySQL-约束(Constraint)

目录 列约束 表约束 timestamp 约束 FOREIGN KEY 外键约束 逻辑外键 约束(Constraint) ==== 约束种类     NOT NULL  不能为空     DEFAULT    默认值     [PRIMARY] KEY 主键     UNIQUE [KEY]  唯一性     FOREIGN KEY 外键     timestamp 约束 ==== 约束格式 列约束:写字段后的约束,对一个字段的约束     说明: NOT NULL,和D

陈承阳时间:2017-12-09 17:34:11 分类:MySQL阅读全文

MySQL表管理及表维护

目录 克隆表 & 克隆数据 临时表(可以与普通表同名) 检查/改变 表的存储引擎 analyze table 分析表 checksum table 计算校验和 optimize table 优化组织表数据 check table 检测表是否正常 repair table 修复表 backup table 备份表 restore table 恢复已备份好的表到MySQL中 MySQL表管理 ========== 克隆表 & 克隆数据 #克隆表 create table new_table like original_table; create table ne

陈承阳时间:2017-11-28 19:23:08 分类:MySQL阅读全文

MySQL存储引擎

==== 最常使用的2种存储引擎: 1、MyISAM     MySQL的默认存储引擎,create创建新表时,默认使用MyISAM     每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是         .frm(存储表定义)         .MYD (MYData,存储数据)         .MYI (MYIndex,存储索引)     数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度 2、InnoDB存储引擎   

陈承阳时间:2017-11-28 19:15:46 分类:MySQL阅读全文

MySQL索引简介

设计索引首先要考虑:需要使用索引来排序?还是先检索数据再排序? -一般在有不同值的列上创建索引的选择性会更好。     比如国家,性别的选择性不高,但很多查询中都用到,建议在创建不同组合索引的时候将(sex,country)作为前缀 -如果不需要限制性别,在查询中新增条件 and sex in('m','f') 来让MySQL选择sex索引,从而匹配索引的最左前缀。 -范围查询(>,<)不能匹配最左前缀,而in()可以 =============索引优点============= -大大减少了服务器需要扫描的数据量 -帮助服务器避免排序和临时表 -将随机I/O变为顺序I/O -特大型的表需要分区技术、块级别元数据技术来代替索引 ENGINE=MyIS

陈承阳时间:2017-11-27 19:39:25 分类:MySQL阅读全文

MySQL查询优化

目录 慢查询 重构查询 优化特定类型的查询 1、count()查询 2、优化关联查询 3、优化 group by 和 distinct 4、优化limit分页 5、使用自定义变量 ======= 慢查询 1、多表联合查询     优化前:     select * from tb1     inner join tb2 using(col2)     inner join tb3 using(col3)     where tb3.col4 =

陈承阳时间:2017-11-27 19:29:26 分类:MySQL阅读全文


选择页面: