mysql慢查询及查询优化

mysql默认是没有开启慢查询的

1 查看慢查询的配置状态

show variables like 'slow_query%';

slow_query_log 慢查询开启状态

slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)

 

2 开启慢查询并设置慢查询的时间限制

 

set global slow_query_log='ON';

 

set global long_query_time=1;

 

3 查看慢查询的日志

cat /var/lib/mysql/localhost-slow.log

 

查询优化

1  如果条件中有or,即使其中有条件带索引,索引也不会生效,想让索引生效,只能将or条件中的每个列都加上索引

对于联合索引,要使用索引的第一部分,否则不会索引

3  在有普通索引的列,like查询以%开头不会走索引,以%结尾会走索引

如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不会走索引

如果mysql估计使用全表扫描要比使用索引快,则不使用索引

 

posted @ 2019-08-27 23:08  踏月而来  阅读(348)  评论(0编辑  收藏  举报