我一直在进行一些mysql性能测试,结果非常奇怪。我正在运行以下mysql版本的查询:带有innodb-plugin的5.0.91,5.1.52,5.1.52和5.5.7。
以下是每个版本的查询执行时间:
version time
------------------------
5.0: 95s
5.1: 122s
5.1 innodb-plugin: 159s
5.5: 127s
我在Windows 2003上测试相同数据(一个表中的50M记录)。数据库在所有版本上使用InnoDB引擎。
我不明白MySQL 5.0是如何最快的,innodb-plugin如何产生比不使用时更糟糕的结果以及5.5在性能上如何与5.1如此相似。
有人碰到这个吗?有人有建议吗?
以下是my.ini配置:
innodb-plugin具体:
答案 0 :(得分:2)
这些引擎都是一样的吗? (InnoDB或MyISAM?) 缓存是否在这些查询中刷新或使用? 您已经用如此少的细节描述了您的测试,很难开始确定为什么您可能会看到奇怪的结果。
也许请看一下这里使用的一些方法:Testing performance of queries in mysql
我还要补充一点,mysql版本中的不同优化可能会导致它们之间的任何单个查询更慢或更快。出于这个原因,我通常不会看到依赖于单个查询的测试套件。
答案 1 :(得分:1)
我有一些建议:
我当然假设这样一个小的(50M行==小)表适合内存(你的8G缓冲池除以50M行=每行平均170字节)。如果没有,请修改上述内容。
如果您对较新的innodb引擎感兴趣,请务必使用“Barracuda”文件格式(需要在配置文件中设置,在服务器启动时,在创建任何表之前)以利用新功能。然后,您可以在启用压缩的情况下进行测试(这将使数据更小并且至少可以加快IO绑定测试的速度。)
根据您的应用程序,您可能还想在大型表上进行尝试。这当然需要更长的时间才能运行(大概加载50M行非常快)。