开启慢查询日志:
进入mysql,输入以下语句
查看是否开启了慢查询日志:
show variables like 'slow_query_log';
show variables like '%log'; 查看与log有关的配置
设置慢查询日志存放的位置(默认):
set global slow_query_log_file = '/home/mysql/sql_log/mysql-slow.log'
将没有使用索引的查询展现出来:
set global log_queries_not_using_indexes=on;
设定慢查询的最小时限(1s):
set global long_query_time=1;
打开慢查询日志:
set global slow_query_log=on;
慢查询日志分析工具:
mysqldumpslow(mysql自带)
列出参数信息:
mysqldumpslow -h
用例(分析前3条日志):
mysqldumpslow -t 3 /home/mysql/sql_log/mysql-slow.log | more
pt-query-digest
下载:https://www.percona.com/doc/percona-toolkit/2.2/pt-query-digest.html#downloading
wget percona.com/get/pt-query-digest
pt-query-digest /home/mysql/sql_log/mysql-slow.log | more
找出问题语句
分析SQL查询
使用explain查询SQL的执行计划:
优化SQL语句
count()和Max()优化方案:
为payment_date添加索引: