我有一张桌子叫ID(PK, Clustered), Name, Price, Brand, ...., RetailerID, SKU, ModelNumber的产品。我的查询有
SELECT ....
FROM Products
WHERE RetailerID = @RetailerID AND
( (@SKU != '' AND SKU = @SKU) OR (@ModelNumber != '' AND ModelNumber = @ModelNumber))我将为这个查询添加索引。我是否应该在RetailerID、SKU和ModelNumber上添加3个索引,或者在(RetailerID、SKU)和(RetailerID,ModelNumber)上添加2个复合索引,或者在(RetailerID、ModelNumber、SKU)上添加1个复合索引?
发布于 2014-01-02 10:49:30
我会在SKU和ModelNumber上创建一个单独的索引。我不认为RetailerID指数会有多大的好处,因为不会有很多不同的零售商。
对此进行分析的最佳方法是比较不同索引集的执行计划和时间。
https://dba.stackexchange.com/questions/55970
复制相似问题