mysql提供了一种机制,把耗时超过一定时间的sql语句打印出来,方便我们进行后续的优化,还提供了一个命令行工具 mysqldumpslow 辅助分析日志文件。
比如我执行一个耗时很长的查询,它就会打印出这个语句:
# Time: 180228 20:35:03
# User@Host: myuser[myuser] @ [127.0.0.1] Id: 1138
# Query_time: 4.459430 Lock_time: 0.000117 Rows_sent: 480006 Rows_examined: 480006
SET timestamp=1519821303;
select * from mkt_test;
可以看到这条查询语句,执行查询的时间是 4.459430s,查询前等待解锁的时间是 0.000117s,发送的数据行是 480006条,这条语句查询了过多的数据,导致慢。
Copyright © 2015-2022 BY-NC-ND 4.0