其实想问:创建多列索引后,用于查询时,如果只用多列索引里的某一个列(列1)作为索引查询条件,效果会怎样呢?例如:会不会比直接为列1建立单列索引时,查询的速度快呢?为什么?
请赐教!

解决方案 »

  1.   

    要看你的语句列的顺序在组合索引的第1列不是使用最多的列,如在下面3个查询语句中建立组合索引,按顺序包含col2,col1,id列;
    select * from tb where id='1' and col1='aa'
    select id,sum(col1) from tb group by id
    select * from tb where id='2' and col2='bb'
    则第一句和第二句无法使用到索引 所以需要注意组合索引的顺序
      

  2.   

    http://www.cnblogs.com/xupengnannan20070617/archive/2011/08/05/2128628.html
    这个表LZ可以参考下!
      

  3.   

    简单的说,索引就是排序的结果,
    多列索引就是多列共同排序的结果.例如在字段a,b,c上建了多列索引,其结果就是以a,b,c排序的,
    a列是第一排序列,所以以a查询时可以用上该索引.
    b,c列是第二,第三排序列,其顺序不一定是有序的,所以以b,c查询时无法使用该索引.
      

  4.   

    不一定了。
    多列索引,在查询条件中使用其中一列时,如果这列是索引中的首列,则会使用到索引,否则很有可能不会用到索引。而且它是用来做覆盖查询的,可以说是为优化部分固定查询而创建的。2005/2008以上的话,你可以查找一下include索引的使用。
    单列索引,还要分聚集还是非集聚来讲,这个网上多的是资料,楼主可以到百度文库里去看一下。