控制台上修改long_query_time参数后未生效
场景描述
在控制台将“long_query_time”参数值从0.1s修改为0.2s后,慢日志中还存在小于0.2s的慢SQL执行记录。
原因分析
控制台上修改“long_query_time”参数是全局级别生效,修改完后,后续新建连接会使用最新设置的参数,但是旧连接的“long_query_time”属性值不会被改变,仍然保持旧的值(该案例中是0.1s),所以小于0.2s的慢SQL是在旧连接上产生的。
出现该现象的原因是MySQL机制导致,所以不仅“long_query_time”参数会出现此类问题,其他控制台上可以修改的全局参数,也会发生类似现象:只有新建连接生效,旧连接不生效。
解决方案
如果想让某些会话连接采用最新的“long_query_time”值,关闭相应会话连接,重新建立连接即可生效。