复合索引的问题,建立复合索引对字段数有什么限制吗?我现在一个表,有二十多个字段,现在已经为十几个字段都做了单列索引,后来看资料,说mysql在查询时只会自动选择一个索引来使用。而我的where和order会用到的字段比较多。所以我就准备建立复合索引。我以前没建立过复合索引。现在有几个问题想问下大家!
1:复合索引建好后。我要不要删除掉原来的十几个单列索引。
2:复合索引的字段可不可以一下子一起为七、八个字段一起建立复合索引?

解决方案 »

  1.   

    1、It depends on your business logical.
    2、Yeah.
      

  2.   

    楼主你要搞清楚,不管你有多少个索引(包括复合索引)每次查询只会选择一个使用.并且建太多的索引会拖慢insert update速度,.
      

  3.   

     1:复合索引建好后。我要不要删除掉原来的十几个单列索引。 
    通常不要 2:复合索引的字段可不可以一下子一起为七、八个字段一起建立复合索引?
    当然可以.
        [align=center]====  ====
    [/align]
    .
    贴子分数<20:对自已的问题不予重视。
    贴子大量未结:对别人的回答不予尊重。
    .
      

  4.   

     1:复合索引建好后。我要不要删除掉原来的十几个单列索引。
    看实际情况而定。当建立的复合索引前导列与单列索引相同时,可删除单列索引,否则可以不删。
    如:复合索引(id,name) 与单列索引(id), 这种情况可以删除单列索引(id)2:复合索引的字段可不可以一下子一起为七、八个字段一起建立复合索引? 
    可以。看你的实际需求了,一般不推荐这么用
      

  5.   

    But the limitation is 1000 bytes for its largest size.