通过慢SQL页面查询
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
-
在左侧导航栏选择 > 。
-
在慢日志分析页签下,选择需要查看的时间范围后,即可查看到对应的慢日志统计和慢日志明细。
说明
您也可以访问RDS实例详情页的日志管理页面,在慢日志明细页签下查看慢日志明细。
常见问题
什么样的SQL会进入RDS MySQL慢日志中?
-
基于执行时间:执行时间超过参数long_query_time配置阈值的SQL会被记录到慢日志中。默认值为1秒,即未调整慢日志阈值的情况下,执行时间超过1秒的SQL会被记录。
-
基于索引使用情况:如果参数log_queries_not_using_indexes=ON,即使SQL执行时间未超过long_query_time,未使用索引的SQL也会被记录到慢日志中。默认情况下,log_queries_not_using_indexes参数为OFF。
为什么RDS MySQL慢日志记录的SQL执行完成时间与实际SQL执行时间不同?
通常情况下可能是执行SQL语句修改了时区。慢日志记录的SQL执行时间的时区,存在会话级别、数据库级别和系统级别。慢日志时区设置逻辑如下:
当数据库存在时区时,以数据库的时区为准,否则以系统时区为准。当通过SQL语句修改了会话级别的时区时,可能导致慢日志记录的时区无法正常转换,从而出现时间差异。
为什么SHOW PROCESSLIST查看到的会话SQL执行时间超过了慢日志阈值,但未被记录到RDS MySQL慢日志中?
如果通过SHOW PROCESSLIST查看到的会话SQL执行时间超过慢日志阈值,但未被记录到慢日志中,通常是因为该SQL被手动或自动KILL掉。在这种情况下,对应的SQL不会被记录到慢日志明细中。