索引
索引是什么
一种数据结构,帮助我们快速的定位元素
索引的分类
主键索引
唯一索引
普通索引
联合索引(最左匹配原则)
-
对某字段进行范围会使索引失效
全文索引
索引的数据结构
如何让性能优秀
-
减少I/O次数
-
避免回旋
哈希表
根据key的hash算法找到存储的位置
-
无法范围查找,底层数据结构散列存储数据
平衡二叉树:
自动选取一个中间值,左边的子树小,右边的子树大
-
树的深度高
-
回旋
B树
一个节点可以有多个值,一个节点下有多个多个节点,冗余节点
-
减少了树的高度,还是回旋
B+树
基于B树+链表,重新定义了叶子节点和非叶子节点的关系,叶子节点存储key,非叶子节点存储key和值,所有的非叶子节点通过链表进行连接
-
不用回旋
-
冗余节点,内存
聚簇索引和非聚簇索引
聚簇索引主键索引,innodb采用B+树存储主键(key),行数据(value)
非聚簇索引普通索引,innodb采用B+树存储字段(key),主键(value)
标签:存储,主键,叶子,索引,key,节点 来源: https://www.cnblogs.com/lcjtt/p/16694114.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。