请问大家在什么情况下使用组合索引?
在组合索引的情况下,我查询的时候只用组合索引的其中一个字段,请问这种情况下会走索引吗?

解决方案 »

  1.   

    假设你有索引 idx1 (col1,col2,col3)如果你基于 where col1=123; 则考虑使用这个索引。
    如果你 where col2=456 则无法使用这个索引。如果你经常进行 where col1=123 and col2=456 的时候,考虑创建这个复合索引。
      

  2.   

    huangxueliang_2008 (huangxueliang_2008)
      '截至2009-12-26 21:02:39  用户结帖率0.00%
      

  3.   

    记得group by,order by 多个字段会用到多个字段的联合索引
      

  4.   

    不及时结贴不是好习惯。1、请问大家在什么情况下使用组合索引?
    ==>出现复合属性的时候。2、在组合索引的情况下,我查询的时候只用组合索引的其中一个字段,请问这种情况下会走索引吗?
    ==>组合索引的第一个字段是引导列,只有他被引用的时候索引才会走
      

  5.   

    不及时结贴不是好习惯。 1、请问大家在什么情况下使用组合索引? 
    ==>出现复合属性的时候。 2、在组合索引的情况下,我查询的时候只用组合索引的其中一个字段,请问这种情况下会走索引吗? 
    ==>组合索引的第一个字段是引导列,只有他被引用的时候索引才会走 
      

  6.   

    只要数据库版本不过低,不需要在where 条件中加上前导列。
    是否走索引由cbo根据成本估算来决定。一般在查询经常需要几个列的条件时对这几个字段加组合索引
      

  7.   


    另如果col1,col2,col3都建有独立index, 那么组合查询 col1 = xx and col2 = yy , 那么独立索引和组合索引 哪个更合适呢?
      

  8.   

    补充下, 数据量150w , sql server08