如果有表:
TA
ID NAME
1  A
2  B
3  C
4  D在ID上建立聚集索引,在NAME上建立非聚集索引那么在查询的时候,是按照聚集索引来还是按照非聚集索引来?

解决方案 »

  1.   

    看你where后面的条件,
    1、如果没有指定使用哪一个索引,sql server自己进行优化分析
    2、如果你指定了,那就按你指定的来
      

  2.   

    楼上正解
    看你查询时的语句怎么写的。主要是WHERE 后面的条件。
      

  3.   

    那写个:where id>2 and name='a' 是不是两个索引都用了?
      

  4.   

    我现在的问题就是由于update用了where name='...',又由于启动了事务,造成了查询在聚集索引ID上造成了阻塞...但是我明明给name指定了非聚集索引,却在聚集索引ID上造成了阻塞,实在让人费解...看来该用哪个索引这不是可控的,只有想办法改进事务了...
      

  5.   

    要看你的查询是什么样子的?
    补充下影子哥的
    如果没有指定使用哪一个索引,sql server自己进行优化分析,一般来说默认的是聚集索引
    如果你指定了,那就按你指定的来