mysql慢查询及查询优化

Posted moris5013

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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估计使用全表扫描要比使用索引快,则不使用索引

 

以上是关于mysql慢查询及查询优化的主要内容,如果未能解决你的问题,请参考以下文章

MySQL索引原理及慢查询优化

MySQL索引原理及慢查询优化

MySQL索引原理及慢查询优化

MySQL索引原理及慢查询优化

MySQL索引原理及慢查询优化

MySQL索引原理及慢查询优化