Java面试题 P13:MySql中,如何定位慢查询
如何定位慢查询?
1、首先介绍一下当时产生问题的场景,具体什么情况慢
2、在mysql中开启慢查询日志,设定查询时间超过2秒的都记录到日志中,我们逐步筛查出现慢sql的原因
慢查询可能产生的原因:
(1)聚合查询
(2)多表查询
(3)表数据量过大查询
(4)深度分页查询
mysql开启慢查询日志配置:
(1)打开MySQL配置文件
SQL的配置文件(my.cnf)中设置参数来启用。以下是一个查询慢日志的示例配置:
(2)启用查询慢日志
slow_query_log = 1
(3)指定慢日志文件路径
slow_query_log_file = /var/log/mysql/mysql-slow.log
(4)启用日志记录操作中未使用的慢查询索引
log_queries_not_using_indexes = 1
(5)配置查询超时时间
long_query_time = 2