InnoDB 聚集索引:主键的物理存储与二级索引的引用 大家好,今天我们来深入探讨 InnoDB 存储引擎中的核心概念之一:聚集索引。聚集索引对于理解 InnoDB 的数据存储方式,优化查询性能至关重要。我们会详细讲解聚集索引的物理存储结构,以及二级索引如何通过引用聚集索引实现数据的查找。 什么是聚集索引? 在 InnoDB 中,聚集索引决定了数据在磁盘上的物理存储顺序。更准确地说,表的数据行实际上是按照聚集索引的顺序存储的。每个 InnoDB 表都有一个聚集索引,通常情况下,这个聚集索引就是表的主键。 如果表定义了主键,InnoDB 会使用主键作为聚集索引。如果没有定义主键,InnoDB 会选择一个非空唯一索引作为聚集索引。如果既没有主键,也没有非空唯一索引,InnoDB 会隐式地创建一个隐藏的聚集索引。 聚集索引的物理存储 InnoDB 使用 B+ 树来实现索引。聚集索引的 B+ 树的叶子节点存储的是完整的数据行,而不是指向磁盘位置的指针。这就是聚集索引的核心特性:数据行和索引存储在一起。 让我们看一个简单的例子。假设我们有一个 users 表,定义如下: CREATE TABLE …
继续阅读“`InnoDB`的`聚集索引`(`Clustered Index`):`主键`索引的`物理`存储与`二级`索引的`引用`关系。”