建表的时候需要三个字段同时唯一索引
ADD UNIQUE INDEX `index2` (`dept` ASC, `name` ASC, `corp` ASC) ;
请问索引字段的顺序,对性能有什么影响,是按照第一个字段是否唯一,是的话再去看第二个字段是这样的顺序么?十分感谢

解决方案 »

  1.   

    是按照第一个字段是否唯一,是的话再去看第二个字段是这样的顺序么?
    不是,是3个字段(dept` `name` `corp` )是否唯一
      

  2.   

    会增加数据INSERT,UPDATE,DELETE的开销,但提高查询效率。
      

  3.   


    看来大家还是没有明白我的意思,我说的是三个字段同时唯一索引,但是mysql是如何比较的机制,比如说字段是
    公司,部门,姓名
    记录有
    总部,A部门,张三
    总部,A部门,李四唯一索引的顺序是公司,部门,姓名
    于是mysql按顺序比较,公司重复的,看部门,部门重复的,看姓名。
    如果把索引的顺序设置为姓名,部门,公司
    mysql比较时候,先是姓名,发现是唯一的,没有重复的,于是,部门和公司字段不在比较。我想问的是,唯一索引先后顺序,是否有区别,因为字段的重复率是不一样,这样我们可以提高索引的效率
      

  4.   

    你的理解是正确的,MYSQL是按左逐条件进行查找。是的。 这也是MYSQL手册中提及的复合索引如何创建。