1.GROUP BY COL1
如果COL1加了索引速度会快吗?
跟跟前面的聚合字段有关系吗?
2.对于索引来说是不是重复的字段应该尽量少,没重复的最好呢但?
没重复的话GROUP BY又没意义了,这里感觉有点小冲突,不知道谁给解释一下,谢谢

解决方案 »

  1.   

    1.GROUP BY COL1 
    如果COL1加了索引速度会快吗? 

    跟跟前面的聚合字段有关系吗? 

    2.对于索引来说是不是重复的字段应该尽量少,没重复的最好呢但? 
    有重复索引,唯一索引,不同的索引用处不同.
      

  2.   

    在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。
    在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。 
    有大量重复值、且经常有范围查询(between, >,< ,>=,< =)和order by 、group by发生的列,可考虑建立群集索引;
      

  3.   

    跟跟前面的聚合字段有关系吗? 
    有 select col1 , col2 , sum(col3) from tb group by col1 , col2这样写,你明白了吧?
      

  4.   

    建议使用聚集索引的场合:
    1、此列上有许多重复的值(这样Group by才有意义)
    2.查询的结果返回一个区间的值(因为聚集索引是物理上时连续排放的,所以找一个区间的值很快)
    3.查询结果返回某值相同的大量结果集(理由同上)
      

  5.   


    1.GROUP BY COL1
    如果COL1加了索引速度会快吗? --会加快速度
    跟跟前面的聚合字段有关系吗? --有,非聚集索引最终还是要用到聚集索引来查询数据2.对于索引来说是不是重复的字段应该尽量少,没重复的最好呢但?
    没重复的话GROUP BY又没意义了,这里感觉有点小冲突,不知道谁给解释一下,谢谢--聚集索引最好重复值多点好,非聚集索引值少重复的比较好