您的位置:首页 > 数据库 > MySQL

MySQL中的聚集索引和辅助索引知识详解

2016-08-25 15:43 260 查看
具体的文档参考官方文档15.8.9

1.当你定义一个主键时,InnnodDB存储引擎则把它当做聚集索引

2.如果你没有定义一个主键,则InnoDB定位到第一个唯一索引,且该索引的所有列值均飞空的,则将其当做聚集索引。

3如果表没有主键或合适的唯一索引INNODB会产生一个隐藏的行ID值6字节的行ID聚集索引,

补充:由于实际的数据页只能按照一颗B+树进行排序,因此每张表只能有一个聚集索引,聚集索引对于主键的排序和范围查找非常有利,

二级索引

一个表中的所有索引除了聚集索引,其他的都是二级索引(secondary index)

辅助索引,其叶子节点并不包含行记录的全部数据,叶子结点除了包含键值以外,每个叶子结点中的索引行还包含了一个书签,该书签用来告诉存储引擎可以在哪找到相应的数据行,由于innodb引擎表是索引组织表,因此innodb存储引擎的辅助索引的书签就是相应行数据的聚集索引键,

B+索引额管理(参考mysql技术内幕,innodb存储引擎)

1.索引管理

索引的创建和删除

索引的创建:一是定义表时进行定义,二是通过alter语句,三是通过create语句创建

索引的删除:一是通过alter table,二是通过drop语句
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息