我的一个表结构t是这样的
col1 int
col2 tinyint
col3 bigint
col4 datetime在col1上建了个聚集索引
col2上和col4上分别分聚集索引
我现在一个这样的语句
select col2 from t where col2 = 2
查询计划显示扫描的是索引列col2
select col3 from t where col2 = 2
查询计划显示扫描的是聚集索引列col1
select col4 from t where col4 < '2008-10-30'
查询计划显示的是扫描的是聚集索引列col1请问这两列上都有索引 为什么没去扫描索引列呢

解决方案 »

  1.   

    查询会自动优化where 後面的條件~~~~~~~
      

  2.   

    select col3 from t where col2 = 2 
    查询计划显示扫描的是聚集索引列col1 select col4 from t where col4 < '2008-10-30' 
    查询计划显示的是扫描的是聚集索引列col1 原因是测试的数据量太少,以至于查聚集索引比用col2、col4上的索引更快