https://blog.csdn.net/biexiaofei/article/details/78261273 痛定思痛。 2021-12-09 05:23 172阅读 0赞 转载自[https://blog.csdn.net/biexiaofei/article/details/78261273][https_blog.csdn.net_biexiaofei_article_details_78261273] [https://blog.csdn.net/qq\_22335577/article/details/52313561][https_blog.csdn.net_qq_22335577_article_details_52313561] -------------------- ## 聚集索引: ## InnoDB存储引擎表是索引组织表,即按照主键的顺序存储数据。 **聚集索引(clustered index)**就是**按照每张表的主键构造一棵B+树**,树中的叶子节点存放着**表中的行记录数据**,因此,也将聚集索引的叶子节点称为**数据页**;非叶子节点中存放着仅仅是键值和指向叶子节点的偏移量。**每个叶子节点(数据页)**都通过一个**双向链表**进行连接。 由于实际的数据页只能按照一棵B+树进行排序,因此**数据库中每张表只能有一个聚集索引**。 聚集索引能过特别快的访问**针对范围值的查询**。 > 注意:聚集索引并不是在物理存储上是连续的,其只是在逻辑上连续,这有两点: 一、**数据页**是按照主键的顺序并通过双向链表链接的,因此物理存储上可以不按主键顺序存储。 二、**数据页中的记录**也是通过双向链表进行维护的,物理存储上同样可以不按主键顺序存储。 聚集索引的好处: 一、对于主键的排序查找非常的快(因为其叶子节点是用双向链表链接的) 二、对于主键的范围查找非常的快(因为通过叶子节点的上层中间节点,就可以得到叶结点的范围值) ## 辅助索引: ## **辅助索引(Secondary index)也是B+树结构**,但其在叶子节点中**并不包含行记录的全部数据**。除了包含键的值(**建立辅助索引的列**中的值)外,还包含了一个书签,这个书签用来告诉InnoDB引擎从哪里可以找到与索引相对应的行数据。由于InnoDB引擎是索引组织表,因此,这个**书签**就是**相应的行数据的****聚集索引键**。 因为辅助索引不会对影响数据在聚集索引中的组织,所以可以有多个。 > 除了索引组织表结构外,还有一种堆表的表结构,即行数据的存储是按照插入的顺序存储的。如SQL Server数据库 (个人理解:聚集索引只能按照主键建立一个。innoDB的聚集索引文件,就是数据文件。只能有一个聚集索引但是可以有多个辅助索引。辅助索引就是:我们自定义的选几个列来作为索引键,从而建立起来的索引。使用辅助所有的时候,先根据主键,查找到辅助索引里面存的书签。然后根据书签去主索引找到相应的数据行。书签就是**相应的行数据的****聚集索引键**) -------------------- 具体的文档参考官方文档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语句 [https_blog.csdn.net_biexiaofei_article_details_78261273]: https://blog.csdn.net/biexiaofei/article/details/78261273 [https_blog.csdn.net_qq_22335577_article_details_52313561]: https://blog.csdn.net/qq_22335577/article/details/52313561
相关 https://blog.csdn.net/biexiaofei/article/details/78261273 转载自[https://blog.csdn.net/biexiaofei/article/details/78261273][https_blog.csdn.net_biexi 痛定思痛。/ 2021年12月09日 05:23/ 0 赞/ 173 阅读
还没有评论,来说两句吧...