索引都有哪些类型

来源:互联网 发布:js时间控件使用 编辑:程序博客网 时间:2024/04/28 05:44

一、唯一索引是什么?

  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 indexabc)。可以支持(a)(ab)(abc3种组合进行查找,但不支持(bc)进行查找 ,当最左侧字段是常量引用时,索引就十分有效。

1 0