今天遇到一个BUG
字段 
ID   NAME  TYPE
设置NAME+TYPE为多字段唯一索引
然后设置NAME普通索引
然后设置TYPE普通索引
排序的时候就出现排列不正确的BUG
解决的方法就是去掉NAME普通索引我有个疑问,如果设置了NAME+TYPE为唯一索引,TYPE是否需要建立普通索引吗?
有时候,我需要单独搜索TYPE

解决方案 »

  1.   

    不设置TYPE普通索引
    TYPE会否有索引
      

  2.   

    order by id desc的时候,出现位置不正确,mysql 5.1.41的BUG
    普通索引和唯一索引相同字段的时候
    ALTER TABLE `test` ADD UNIQUE (
    `name` ,
    `type` 
    );
    ALTER TABLE `test` ADD INDEX( `name`);
    ALTER TABLE `test` ADD INDEX( `type`);
      

  3.   

    我的想应该是当where 唯一索引='..' 的时候,mysql 可能使用了普通索引,而不是用唯一索引,导致有些排序错误
    我想问一下,设置了多字段索引,单字段索引,要不要再建?
      

  4.   

    MYSQL使用的是最左前缀索引,
    你创建了如下的索引后,
    `name` ,
    `type相当于创建了一个NAME的索引,一个NAME和TYPE的复合索引。所以NAME上没有必要再做索引,TYPE上需要建。