首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次调优的MySQL查询时间是不同的

每次调优的MySQL查询时间是不同的
EN

Server Fault用户
提问于 2011-07-14 05:25:45
回答 2查看 166关注 0票数 2

我正在为缓慢的查询调优SQL查询时间,但是每次我得到不同的时间,所以我无法评估我的优化解决方案。

例如,我运行了三次查询select * from abc where abc.status in (x,y,z) and abc.scale>123;,结果时间为5s、11s、9s。

我关闭了查询缓存。如何获得一个干净的沙箱来调优慢速查询?

EN

回答 2

Server Fault用户

发布于 2011-07-14 09:23:07

最有可能的是,服务器正在后台做其他不同的事情。MySQL查询很大程度上受到IO的影响,在机器上执行IO工作的其他进程的干扰会显着地改变查询时间。

如果您想要可重复的基准测试,请确保在一个独立的服务器上运行这个程序。

票数 0
EN

Server Fault用户

发布于 2011-07-15 06:36:43

另一种选择是重复运行查询(如数百次),并对结果进行一些统计分析。关键是隔离任何合并变量(在同一台机器上运行测试,使用相同的脚手架代码,并且在运行的其他任务中不存在任何偏差(我知道这很困难)。然后,您可以对某个特定查询是否优于其他查询做出可能的结论(尽管量化确切的改进会带来危险)。

或者您可以只使用EXPLAIN <query>,它将显示一个查询计划,并让您很好地了解两个查询中哪一个“更好”。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/290192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档