ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021-03-29

2021-04-05 22:32:29  阅读:133  来源: 互联网

标签:03 存储 包含 29 节点 叶子 索引 2021 主键


索引

-----记录最近学习有关索引的一些知识

一.名词

1.主键索引:唯一索引,建表时就指定了主键索引,叶子节点存放的是整行数据;
2.非主键索引:二级索引。叶子节点存放主键的值;
3. 联合索引:两个字段以上组合的索引;
4.聚簇索引:将索引与表数据存储到同一个文件中,例:InnoDB存储引擎;
5.非聚簇索引:索引与表数据放在了两个文件中,比如Myisam存储引擎;
6.hash索引:对索引key进行hash运算得出数据的存储位置,适合”=“,”in“查询,不支持范围查询;
7.索引:一种有序的数据结构。

二.问题总结

1.B+树索引与B-树的区别
1)B+树的叶子节点包含了所有的索引数据,而B-树只是包含了一部分索引;
2)B+树的叶子节点有双向指针,B-树的叶子节点不包含指针;
3)B-树的每个节点都包含data信息,也就是索引在磁盘上的位置,B+树只有叶子节点包含data信息。
2.联合索引为什么要遵循最左前缀原则?
联合索引是按照第一个索引进行排序的,只有在第一个索引是有序的同时,才对第二个索引进行排序,依次类推。
3.创建主键的原因?
在InnoDB中是通过B+树将聚集索引与数据组织起来的,如果不创建主键,MySQL会自动选没有重复数据的列作为主键,这样将创建主键的事情交给MySQL,会影响性能。
4.选择自增主键的原因?
这样会减少B+树创建时的插入与分裂,效率低。

标签:03,存储,包含,29,节点,叶子,索引,2021,主键
来源: https://blog.csdn.net/wangmm531/article/details/115289079

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有