聚集索引:

InnoDB存储引擎表是索引组织表,即按照主键的顺序存储数据。 
聚集索引(clustered index)就是按照每张表的主键构造一棵B+树,树中的叶子节点存放着表中的行记录数据,因此,也将聚集索引的叶子节点称为数据页;非叶子节点中存放着仅仅是键值和指向叶子节点的偏移量。每个叶子节点(数据页)都通过一个双向链表进行连接。 
由于实际的数据页只能按照一棵B+树进行排序,因此数据库中每张表只能有一个聚集索引。 
聚集索引能过特别快的访问针对范围值的查询。

注意:聚集索引并不是在物理存储上是连续的,其只是在逻辑上连续,这有两点:
一、数据页是按照主键的顺序并通过双向链表链接的,因此物理存储上可以不按主键顺序存储。
二、数据页中的记录也是通过双向链表进行维护的,物理存储上同样可以不按主键顺序存储。
  • 1
  • 2
  • 3

聚集索引的好处: 
一、对于主键的排序查找非常的快(因为其叶子节点是用双向链表链接的) 
二、对于主键的范围查找非常的快(因为通过叶子节点的上层中间节点,就可以得到叶结点的范围值)

辅助索引:

辅助索引(Secondary index)也是B+树结构,但其在叶子节点中并不包含行记录的全部数据。除了包含键的值(建立辅助索引的列中的值)外,还包含了一个书签,这个书签用来告诉InnoDB引擎从哪里可以找到与索引相对应的行数据。由于InnoDB引擎是索引组织表,因此,这个书签就是相应的行数据的聚集索引键。 
因为辅助索引不会对影响数据在聚集索引中的组织,所以可以有多个。

除了索引组织表结构外,还有一种堆表的表结构,即行数据的存储是按照插入的顺序存储的。如SQL Server数据库

Mysql (InnoDB引擎)聚集索引和辅助索引相关推荐

  1. mysql数据库存储引擎和索引的描述_Mysql InnoDB引擎的索引与存储结构详解

    前言 在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的. 而MySql数据库提供了多种存储引擎.用户可以根据不同的需求为数据表选择不同的存储引擎,用户也 ...

  2. mysql索引 聚集索引_MySql数据库索引-聚集索引和辅助索引

    InnoDB存储引擎索引: B+树索引:不能找到一个给定键值的具体行,能找到的只是被查找数据行所在的页.然后把页加载到内存,在查询所要的数据. 全文索引: 哈希索引:InnoDB会根据表的使用情况自动 ...

  3. mysql辅助索引非叶子节点_Mysql的聚集索引与辅助索引

    Mysql数据库中的B+树索引可以分为聚集索引和辅助索引(非聚集索引).本文将介绍一下两者. 聚集索引 聚集索引:指索引项的排序方式和表中数据记录排序方式一致的索引(这里不懂先放着,一会举例),每张表 ...

  4. MySQL中InnoDB引擎对索引的扩展

    摘要:InnoDB引擎对索引的扩展,自动追加主键值及其对执行计划的影响. MySQL中,使用InnoDB引擎的每个表,创建的普通索引(即非主键索引),都会同时保存主键的值. 比如语句 CREATE T ...

  5. 聚集索引、辅助索引、覆盖索引、联合索引

    转载自   聚集索引.辅助索引.覆盖索引.联合索引 聚集索引(Clustered Index) 聚集索引就是按照每张表的主键构造一棵B+树,同时叶子节点中存放的即为整张表的行记录数据. 举个例子,直观 ...

  6. mysql 什么树_搞懂MySQL InnoDB B+树索引

    一.InnoDB索引 InnoDB支持以下几种索引: B+树索引 全文索引 哈希索引 本文将着重介绍B+树索引.其他两个全文索引和哈希索引只是做简单介绍一笔带过. 哈希索引是自适应的,也就是说这个不能 ...

  7. mysql 主键 聚集索引_MySQL主键索引和聚焦索引

    主键索引 主键索引,简称主键,原文是PRIMARY KEY,由一个或多个列组成,用于唯一性标识数据表中的某一条记录.一个表可以没有主键,但最多只能有一个主键,并且主键值不能包含NULL. 在MySQL ...

  8. 后端学习 - MySQL存储引擎、索引与事务

    文章目录 一 存储引擎 1 MyISAM 与 InnoDB 的差异 2 表级锁与行级锁 二 索引 1 主键索引与二级索引 2 聚簇索引与非聚簇索引 3 数据结构:哈希表 4 数据结构:B树 5 数据结 ...

  9. Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock

    Mysql INNODB引擎行锁的3种算法 InnoDB存储引擎有3种行锁的算法,其分别是: □ Record Lock:单个行记录上的锁 Record Lock总是会去锁住索引记录,如果InnoDB ...

最新文章

  1. PocketPC 全屏的实现
  2. 拖拽公式图片、一键转换LaTex公式,这款开源公式识别神器比Mathpix Snip更适合你...
  3. js插件---10个免费开源的JS音乐播放器插件
  4. NET 应用架构指导 V2 学习笔记(十九) 表现层组件设计指导
  5. mysql光标不见了_mysql创建光标失败
  6. tensorflow的错误之Can not convert a float32 into a Tensor or Operation
  7. 【渝粤题库】陕西师范大学200341实变函数作业(高起本、专升本)
  8. TypeError: can't pickle _thread.RLock objects
  9. 任正非谈鸿蒙系统研究,任正非谈鸿蒙系统 有优势 有信心打造生态
  10. 华为的哪个字体像苹果的_华为手机手写怎么变字体 苹果手写字体怎么变粗
  11. 工程经济作业1答案_工程经济学1、2、3、4(作业1答案)
  12. virtualbox设置了共享文件夹却无权限访问
  13. 三菱FX3UFX2NFX1N PLC 模拟器模拟通信功能,模拟PLC实体,FX3U仿真器,仿真PLC服务器
  14. 为什么“蜥蜴书”是机器学习入门必读书?
  15. Halcon常见错误
  16. 900万!!!!!!!!这也太强了吧!!!我的老天!!!!!!!!!!
  17. 前端实现文字竖向排版
  18. springboot集成bboss操作elasticsearch索引,类型,文档(单集群)
  19. Day11-面向对象(4)
  20. JavaEE进阶——全文检索之Lucene框架

热门文章

  1. SQL 查询总是先执行SELECT语句吗?你们都错了!
  2. Spring Security 和 Apache Shiro
  3. Spring Cloud Alibaba基础教程:Nacos的数据持久化
  4. 利用SPRING管理热加载的GROOVY对象!
  5. java int 127_Integer类型中奇怪的127和128
  6. cocostuff10k数据集介绍_COCO数据集整理
  7. java mysql aio_Java中的NIO,BIO,AIO分别是什么
  8. cv::cuda::split 使用
  9. Selenium自动化-清空输入框、输入内容、点击按钮
  10. allow_unreachable flag