慢查询
什么是慢查询
MySQL 的慢查询日志是 MySQL 提供的一种日志记录,它用来记录在 MySQL 中响应时间超过阀值的语句,阈值指的是运行时间超过 long_query_time 值的 SQL,则会被记录到慢查询日志中。long_query_time 的默认值为 10,意思是运行 10秒 以上的语句。默认情况下,MySQL 数据库并不启动慢查询日志,需要我们手动来设置这个参数。
慢查询需要知道的 “点”
-
企业级开发中,慢查询日志是会打开的。但是这同样会带来一定的性能影响。
-
慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表
-
默认的阈值(long_query_time)是 10,这个显然不可用,通常,对于用户级应用而言,我们将它设置为 0.2
慢查询相关的变量
查看变量的 SQL 语句
SQL | 含义 | 备注 |
---|---|---|
show variables like ‘slow_query_log’; | 是否开启慢查询日志 | ON 表示开启;OFF 表示关闭 |
show variables like ‘slow_query_log_file’; | 慢查询日志存储路径 | 根据 MySQL 版本不同而不同 |
show variables like ‘long_query_time’; | 慢查询阈值 | 默认值是 10s,使用慢查询则一定需要更改 |
show variables like ‘log_queries_not_using_indexes’; | 未使用索引的查询也被记录到慢查询日志中 | OFF 表示关闭,通常不会被开启 |
show variables like ‘log_output’; |