See You Again

一个简单的方法优化mysql性能

mysql提供了一种机制,把耗时超过一定时间的sql语句打印出来,方便我们进行后续的优化,还提供了一个命令行工具 mysqldumpslow 辅助分析日志文件。

比如我执行一个耗时很长的查询,它就会打印出这个语句:

  1. # Time: 180228 20:35:03
  2. # User@Host: myuser[myuser] @ [127.0.0.1] Id: 1138
  3. # Query_time: 4.459430 Lock_time: 0.000117 Rows_sent: 480006 Rows_examined: 480006
  4. SET timestamp=1519821303;
  5. select * from mkt_test;

可以看到这条查询语句,执行查询的时间是 4.459430s,查询前等待解锁的时间是 0.000117s,发送的数据行是 480006条,这条语句查询了过多的数据,导致慢。

2018-02-28 喜欢

Copyright © 2015-2022 BY-NC-ND 4.0

回到顶部 ↑