为什么在MySQL中执行两次相同的查询时,它会返回两个非常不同的响应时间?

时间:2013-02-25 15:32:00

标签: mysql

我的问题如下:

为什么我在shell中执行两次相同的查询MySql得到两个非常不同的响应时间(即

第一次和第二次更短的时间)?

我该如何防止这种情况发生?

非常感谢你

2 个答案:

答案 0 :(得分:5)

这很可能取决于查询和/或结果缓存。如果你运行一次查询,MySQL会存储该查询的编译版本,并且还会为这些特定的表存储在内存中的索引,因此任何后续查询都比原始查询快得多。

答案 1 :(得分:2)

这可能是由于 1.启用了查询缓存或由于2.执行该缓存的系统的性能状态的差异
在查询缓存中,如果在mysql存储查询的编译版本时运行查询,则在再次调用时获取。在重复执行相同查询时,编译时间不存在。 可以关闭查询缓存,但这不是一个好主意