我的问题如下:
为什么我在shell中执行两次相同的查询MySql得到两个非常不同的响应时间(即
第一次和第二次更短的时间)?
我该如何防止这种情况发生?
非常感谢你
答案 0 :(得分:5)
这很可能取决于查询和/或结果缓存。如果你运行一次查询,MySQL会存储该查询的编译版本,并且还会为这些特定的表存储在内存中的索引,因此任何后续查询都比原始查询快得多。
答案 1 :(得分:2)
这可能是由于 1.启用了查询缓存或由于2.执行该缓存的系统的性能状态的差异。
在查询缓存中,如果在mysql存储查询的编译版本时运行查询,则在再次调用时获取。在重复执行相同查询时,编译时间不存在。 可以关闭查询缓存,但这不是一个好主意