在mysql中开启了慢查询日志,但是在日志中经常看到这样一段查询,不知道是什么意思,另外,我当前查询并没有被记录到慢查询中,但是却记录了一大堆show status 之类的日志。
下面日志的意义:
# Time: 2017-06-27T02:36:23.208000Z
# User@Host: root[root] @ localhost [127.0.0.1] Id: 3
# Query_time: 0.001000 Lock_time: 0.000000 Rows_sent: 6 Rows_examined: 305
SET timestamp=1498530983;
SELECT STATE AS `Status`, ROUND(SUM(DURATION),7) AS `Duration`, CONCAT(ROUND(SUM(DURATION)/0.000132*100,3), '%') AS `Percentage` FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID=31 GROUP BY STATE;
为什么会有这样的记录,意义是什么,并且出现的没有规律!
首先说下慢查询只会记录你用时超过你设置的查询时间的查询语句,另外你这条语句用了ROUND随机值,且groub by,查询是肯定慢的,所以会记录在日志里,建议这种逻辑处理不要放在mysql里
你的慢查询时间太短了吧?1ms就记录!这个sql是系统生成执行计划统计信息的