我一直在我的测试服务器上优化查询,该服务器与实时服务器具有相同的索引。当我在两台服务器上解释查询时,我得到了一个不同的索引。
这不仅仅是一个根本不适合的指数的微小差别。
这是我的查询
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)
这确实有效,但我只是感到困惑为什么会这样做?
答案 0 :(得分:2)
查询执行中使用的索引不仅取决于您拥有的索引,还取决于数据库中的数据。以及用于生成执行计划的其他几个统计数据。