日期:2014-05-17  浏览次数:20517 次

请问以下情况还需要再添索引吗
有一张表有A、B、C三个字段
CREATE TABLE TBL
(
A VARCHAR,
B VARCHAR,
C VARCHAR
)
我已经有一个索引包含了A、B、C字段
CREATE NONCLUSTERED INDEX IDX_1 ON TBL
(
A,B,C
)
现在我发现C字段经常被单独查询
SELECT * FROM TBL WHERE C='?'
单独再为C字段建立索引会加快查询速度吗?
CREATE NONCLUSTERED INDEX IDX_2 ON TBL
(
C
)


------解决方案--------------------
建议单独加上索引,如果2008以上的SQLServer,可以考虑使用include 包含。因为符合索引中,单独查询非首列,性能一般不如单独索引,看清楚是一般,不是绝对。