Mysql (InnoDB引擎)聚集索引和辅助索引
来源:互联网 发布:淘宝联盟 不能退款 编辑:程序博客网 时间:2024/06/06 15:53
聚集索引:
InnoDB存储引擎表是索引组织表,即按照主键的顺序存储数据。
聚集索引(clustered index)就是按照每张表的主键构造一棵B+树,树中的叶子节点存放着表中的行记录数据,因此,也将聚集索引的叶子节点称为数据页;非叶子节点中存放着仅仅是键值和指向叶子节点的偏移量。每个叶子节点(数据页)都通过一个双向链表进行连接。
由于实际的数据页只能按照一棵B+树进行排序,因此数据库中每张表只能有一个聚集索引。
聚集索引能过特别快的访问针对范围值的查询。
注意:聚集索引并不是在物理存储上是连续的,其只是在逻辑上连续,这有两点:一、数据页是按照主键的顺序并通过双向链表链接的,因此物理存储上可以不按主键顺序存储。二、数据页中的记录也是通过双向链表进行维护的,物理存储上同样可以不按主键顺序存储。
聚集索引的好处:
一、对于主键的排序查找非常的快(因为其叶子节点是用双向链表链接的)
二、对于主键的范围查找非常的快(因为通过叶子节点的上层中间节点,就可以得到叶结点的范围值)
辅助索引:
辅助索引(Secondary index)也是B+树结构,但其在叶子节点中并不包含行记录的全部数据。除了包含键的值(建立辅助索引的列中的值)外,还包含了一个书签,这个书签用来告诉InnoDB引擎从哪里可以找到与索引相对应的行数据。由于InnoDB引擎是索引组织表,因此,这个书签就是相应的行数据的聚集索引键。
因为辅助索引不会对影响数据在聚集索引中的组织,所以可以有多个。
除了索引组织表结构外,还有一种堆表的表结构,即行数据的存储是按照插入的顺序存储的。如SQL Server数据库
阅读全文
0 0
- Mysql (InnoDB引擎)聚集索引和辅助索引
- MySQL中的聚集索引和辅助索引知识详解
- MySql中InnoDB引擎索引
- innodb purge--聚集索引
- Mysql innodb引擎和myisam引擎 使用索引区别
- Mysql innodb引擎和myisam引擎使用索引区别
- MySQL索引 聚集索引
- MySQL索引 聚集索引
- 【MySql】mysql中的聚集索引和非聚集索引
- mysql 索引长度tips innodb和myisam引擎
- MySQL InnoDB引擎的索引和存储结构
- MySQL的聚集索引和非聚集索引
- MySQL系列—聚集索引和非聚集索引
- MySQL的聚集索引和非聚集索引
- MySQL的聚集索引和非聚集索引
- B+树,聚集索引,非聚集索引(辅助索引) 之一
- B+树,聚集索引,非聚集索引(辅助索引) 之一
- MySQL笔记(聚集索引)
- restful接口
- HDU 5277 YJC counts stars 最大团+暴力
- FP-growth
- VMDK(VMWare Virtual Machine Disk Format)是虚拟机VMware创建的虚拟硬盘格式
- 2.1 浏览因特网资源
- Mysql (InnoDB引擎)聚集索引和辅助索引
- VC++ MFC DLL动态链接库编写详解
- Qt水波进度条Demo
- Java面向对象的三大特征
- 如何快速转载CSDN中的博客
- Java RandomAccessFile用法
- Android开发中jni目录中arm-v64,armeabi-v7a,armeabi,x86,x86_64文件夹的意义
- Xcode9 app icon需要哪些尺寸
- JDBC和事物