MySQL已启用了slow query log且long_query_time=0.01,为什么有些慢SQL还是没被记录呢? 1、在线动态设置long_query_time=0.01,但该设置对当前已建立的连接不会生效。 2、log_slow_admin_statements=0,因此ALTER、CREATE INDEX、ANALYZE TABLE等操作即使超过long_query_time不会记录。 3、min_examined_row_limit设置非0值,SQL检查行数未超过该值不会记录。 4、slow log文件句柄发生了变化,如运行期间用vim打开log,最后又保存退出,此时文件句柄发生变化,需要执行flush slow logs; 5、误将slow_query_log_file当做slow log的开关,设置为1(此时slow log文件名为1)。