要看你的查询语句经常是怎么用的了,弄懂索引的实质就应该清楚区别了,不同的语句,两种索引各有优略。通常你where语句后面的某些字段,或join后面的某些字段如果经常合在一起用,建第一种,如建一个索引IX_test_1,同时选择col001,col002列,会好点。

解决方案 »

  1.   


    建索引IX_test_1,同时选择col001,col002列,适合于查询: where col001='xx' and col002='b'
    建索引只选择col001列,适合查询:where col001='xx' 
    建索引只选择col002列,适合查询:where col002='xx' 
      

  2.   

    区别在于:1. 如果索引是在两个列上: col001 and col002 (注意: 有先后次序的), 那么:
       当你的WHERE clause只有col002时, SQL Server在优化检索时, 就会忽略这个索引, 转而去找其他索引.2. 当你在两个上分别建索引时, 那么:
       当你的WHERE clause有col001和col002时, SQL Server会用并行处理(parallel)的方式来优化检索.