MySQL的慢日志是MySQL提供的一种日志记录手段,能够将满足一定条件的语句给保存下来,能够很方便的进行针对化优化行为。
在MySQL中,主要有以下一些参数能够进行控制:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16+----------------------------------------+-------+
| Variable_name | Value |
+----------------------------------------+-------+
| log_slow_admin_statements | OFF |
| log_slow_slave_statements | OFF |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | |
| tokudb_disable_slow_alter | OFF |
| tokudb_disable_slow_update | OFF |
| tokudb_disable_slow_upsert | OFF |
| min_examined_row_limit | 0 |
| log_queries_not_using_indexes | OFF |
| log_throttle_queries_not_using_indexes | 0 |
| long_query_time | 10 |
+-------------------------------+----------------+
- slow_query_log:是否开启慢日志统计功能
- long_query_time:命令执行时间阈值。默认是10s,这个时间指的是具体执行时间,不包含等锁时间
- slow_query_log_file:慢语句记录文件名。默认为数据文件目录,hostname-slow.log
- min_examined_row_limit:扫描超过这个值的语句才被记录
- log_queries_not_using_indexes:是否记录未使用索引的语句
- log_throttle_queries_not_using_indexes:每秒钟记录未使用索引语句的条数上限
- log_slow_admin_statements:是否记录optimize table,analyze table和alter table语句
- log_slow_slave_statements:是否记录slave产生的慢查询
- slow_launch_time:如果创建线程的时间超过这个值,则服务器状态变量
Slow_launch_threads
增加1。与慢语句无关 - tokudb%:这些参数是tokudb引擎特有的一些参数,在阿里云RDS实例中会默认安装。
https://www.docs4dev.com/docs/zh/mysql/5.7/reference/slow-query-log.html
https://www.docs4dev.com/docs/zh/mysql/5.7/reference/server-system-variables.html