时间:2021-07-01 10:21:17 帮助过:8人阅读
2、mysql sql语句的生命周期
3、索引
普通索引:所有列都可以添加索引
create index ‘my_index‘ on bkl(name);
alter table blk add index my_index2 (sex);
#上面这两种方式都是添加普通索引
alter table blk add index my_index3 (sex,name);#添加组合索引
alter table blk add unique index my_index4 (phone);#添加唯一索引
create unique index ‘my_index5‘ on bkl(phone);
#添加唯一索引
添加主键索引:
alter table blk modify id int primary key;
删除索引:
alter table blk drop index my_index2;
唯一索引:unique
主键索引:primary ky
组合索引、多列索引:
4、慢查询
SHOW VARIABLES LIKE ‘%query%‘;#查询慢查询日志是否开启
set global slow_query_log=on;#开启慢查询日志
set global long_query_time=1;#设置记录查询超过多长时间的sql
set global slow_query_log_file=‘/opt/data/slow_query.log‘;#设置mysql慢查询日志路径,此路径需要有写权限
mysqldumpslow命令参数如下:
-s,是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;
-t,是top n的意思,即为返回前面多少条的数据;
-g,后边可以写一个正则匹配模式,大小写不敏感的
例子:#比如说要按照sql执行时间最长的前20条sql
mysqldumpslow -s t -t 20 -g ‘select‘ /opt/data/slowquery_2016050921.log
通过慢查询日志,就可以找到执行效率不高的sql
5、sql语句怎么去优化
6、锁
如果修改的数据的时候条件是索引列就是行级锁,
条件不是索引列的时候才是表级锁。
show processlist;
show engine innodb status;#一般日志里有dblock、lock等字样
7、事务
MySQL优化
标签:mem hits 查看 unique wait ssl tar phone time