MySql索引
概念:什么是索引,索引其实就是一种排好序的能够提高查询性能的数据结构。
索引的分类:索引分为两类,聚簇(集)索引,又称主键索引,就是索引和数据都在叶子节点上(叶子节点,没有分支的节点),另一种时非聚簇(集)索引,也叫做非主键索引,索引对应存储的数据是主键值。
索引的底层采用的时是B+树,为什么不选用hash或者B树,因为hash只支持等值查询,不支持范围查询。为什么不选择B树呢?是因为如果要存储大量的数据时,树的高度为越来越高,在查询的时候走的路径就会越长,这样就导致查询的效率就会变慢。而B+树的非叶子节点和节点存储的数据不一样,可以使用尽量深度地的树存储大量数据,树的深度越低,所需的查询次数就会越少,查询效率就会越高。叶子节点是一个双向链表,支持范围查询,也能提高查询效率。
创建索引:
主键索引:命名要求,pk_列明
普通索引:create index 索引名称 on 表名(可具体到列明),命名要求:idx_列名
唯一索引:create index 索引名称 on 表名(列名),命名要求:uk_列名
联合索引:createindex 索引名称 on 表名(列1,列2),命名要求:idx_列1_列2

浙公网安备 33010602011771号