一、唯一索引
1. 索引列(字段)的所有值都只能出现一次,即必须唯一
二、主键索引与唯一索引的区别
1. 主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。
2. 主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。
3. 唯一性索引列允许空值,而主键列不允许为空值。
4. 主键列在创建时,已经默认为空值 + 唯一索引了。
5. 一个表最多只能创建一个主键,但可以创建多个唯一索引。
6. 主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等。
7. 主键可以被其他表引用为外键,而唯一索引不能。
三、复合索引
1. 用户可以在多个列上建立索引,这种索引叫做复合索引(联合索引),就是几个字段联合在一起组成一个索引。
2. 复合索引的创建方法与创建单一索引的方法完全一样。
3. 复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引。
4. 当表的行数远远大于索引键的数目时,使用这种方式可以明显加快表的查询速度。
四、复合索引有以下几个(abc) (ab) (ac) (bc) (a) (b) (c),哪个符合
1. 复合索引又叫联合索引。
2. (a) (ab) (abc)可以
3. 对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分,该行为被称为最左原则。
4. 例如索引是key index (a,b,c)。可以支持(a)(ab)(abc)3种组合进行查找,但不支持(bc)进行查找 ,当最左侧字段是常量引用时,索引就十分有效。