【发布时间】:2011-03-09 18:34:50
【问题描述】:
我一直在优化我的测试服务器上的查询,它与实时服务器具有相同的索引。当我解释两台服务器上的查询时,我得到了一个不同的索引。
这不仅仅是一个微小的差异,它是一个根本不适合的索引。
这是我的查询
SELECT count(Pads.PadID) AS CountOfPadID FROM Pads WHERE ((
RemoveMeDate='2001-01-01 00:00:00') AND (catid between 0 and 11))
ORDER BY VersionAddDate DESC;
测试服务器说明
直播服务器说明
这里是实时服务器上的索引,您可以看到索引 Cats 与查询中使用的字段完全无关
我试过USE INDEX (sitempacats) 确实有效,但我只是不明白为什么它会这样做?
【问题讨论】:
-
mysql版本不同吗?
-
您是否尝试过 mysql 从实时服务器转储表并将其导入测试服务器?测试服务器和实时服务器是否完全一样? mysql版本/编译插件
-
两台服务器上是否有相同版本的mysql?可能查询优化器在不同版本中的工作方式不同。
标签: mysql sql query-optimization