mysql如何找出慢sql

一、如何查看慢sql:

long_query_time 参数的查看
默认是10秒,10秒以上的sql会记录。可进行值的修改,
long_query_time 默认不开启 ,如果不是需要进行开始调优,一般不建议开启此参数。

二、查看是否开启

show variables like '%slow_query_log%'
图1

三、临时开启:重启后失效

set global slow_query_log = 1

永久开启:
在my.cnf中的

[mysqld]
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/data/appledeMacBook-Pro-slow.log

四、修改慢查询的默认数值

1.查看慢查询的时长

show variables like 'long_query_time'
图2

看此图默认10秒,是大于10秒,不等于10秒。
2.修改此时长
临时修改,重启mysql后失效,修改后需要新开连接才能查询到

set global long_query_time = 3

永久在配制文件中修改

 [mysqld]
long_query_time = 3

查看慢sql个数

show global status like '%slow_queries%';
图4

将所有没有使用带索引的查询语句全部写到慢查询日志中

show variables like '%log_queries_not_using_indexes%'

设置没带索引的慢sql进行记录

set global log_queries_not_using_indexes = 1

最后汇总my.cnf配制

 [mysqld]
#开启慢sql
slow_query_log = 1
#msql存放位置
slow_query_log_file = /usr/local/mysql/data/appledeMacBook-Pro-slow.log
#慢sql的值大于多少秒
long_query_time = 3
#日志输出为文件
log_output=file
#将所有没有使用带索引的查询语句全部写到慢查询日志中
set global log_queries_not_using_indexes = 1
image.png
7C29754D-6934-4B75-AFD5-A12972494446.png

你可能感兴趣的:(mysql如何找出慢sql)