MySQL单查询基准测试策略

时间:2010-05-21 16:15:38

标签: mysql performance

我的应用程序中的mySQL查询速度很慢,需要重新编写。问题是,它只在我的生产服务器上运行缓慢,并且只有在没有缓存时才会缓慢。我第一次运行它需要12秒,然后在任何时候它将是500毫秒。

有没有一种简单的方法来测试这个查询而不会遇到查询缓存,所以我可以看到我的重构结果?

谢谢!

2 个答案:

答案 0 :(得分:7)

MySQL支持阻止缓存单个查询。尝试

SELECT SQL_NO_CACHE field_a, field_b FROM table;

或者,您可以为当前会话分配查询缓存:

SET SESSION query_cache_type = OFF;

请参阅http://dev.mysql.com/doc/refman/5.1/en/query-cache.html

答案 1 :(得分:1)

为了加入johannes的好答案,我所做的就是

RESET QUERY CACHE;

这有一个额外的好处,即不需要对我正在执行的语句或连接进行任何更改。

要做的一件小事就是改变你正在以某种方式执行的语句,例如在注释中放置一个随机数,因为只有当查询与某些先前的查询字节完全相同时,查询才会位于缓存中。 / p>

相关问题