【随手记】聚簇索引、二级索引和联合索引

简介: 【随手记】聚簇索引、二级索引和联合索引


1.聚簇索引(Clustered Index)


  • 特点:聚簇索引是表中数据行的物理排序方式,每张表只能有一个聚簇索引。通常,聚簇索引与主键相关联,但如果没有显式定义主键,则InnoDB存储引擎会选择一个唯一非空列作为聚簇索引。


  • 联系:聚簇索引实际上是表的主要排序顺序,因为它决定了数据行在磁盘上的物理排列。聚簇索引的叶子节点包含了实际数据行,而不仅仅是索引键值。因此,当您在查询中使用聚簇索引时,可以更快地检索数据。


2.二级索引(Secondary Index)


  • 特点:二级索引是表中除了聚簇索引之外的任何其他索引。一个表可以有多个二级索引,它们不会改变数据行的物理排序,而是提供了额外的索引路径以加速查询。


  • 联系:二级索引通过索引键值引用数据行,而不是直接包含数据行。当您查询时,数据库会首先使用二级索引找到匹配的行的主键,然后使用主键查找实际的数据行。因此,二级索引可以加速特定的查询,但需要额外的查找步骤。


3.联合索引(Composite Index)


  • 特点:联合索引是一个包含多个列的索引,它们一起形成索引键值。联合索引可以用于加速多列的查询,而不仅限于单列。


  • 联系:联合索引可以是聚簇索引或二级索引的一种。如果联合索引是表的主键,那它就是聚簇索引。如果联合索引不是主键,那它就是二级索引。联合索引中的列按照索引的定义顺序组成键值,可以用于加速多列的查询条件。


4.总结:


  • 聚簇索引是表的主要物理排序方式,通常与主键相关联。


  • 二级索引是表的其他索引,用于加速查询,但不改变数据行的物理排序。


  • 联合索引是一种包含多个列的索引,可以是聚簇索引或二级索引,用于加速多列的查询。


这些索引类型在数据库查询优化和性能方面发挥着重要的作用,根据查询需求和数据模型的不同,选择合适的索引类型非常重要。

目录
相关文章
|
2月前
|
存储 关系型数据库 索引
9. 什么是聚簇索引什么是非聚簇索引 ?
**聚簇索引**是指数据和索引存储在一起,常见于InnoDB存储引擎的主键索引。**非聚簇索引**则相反,数据和索引分开存储,如MyISAM引擎中,索引只包含数据行指针。示意图展示了两种索引的区别。
23 1
|
2月前
|
存储 SQL 关系型数据库
✅什么是聚簇索引和非聚簇索引、以及回表、索引下推
数据库中的聚簇索引和非聚簇索引是两种不同的数据组织方式。聚簇索引将数据与索引一起存储,主键决定行的物理顺序,适用于InnoDB。非聚簇索引则索引与数据分开,叶子节点存储主键值和指针。在查询时,非聚簇索引需回表操作找到主键后再查询数据。无主键时,InnoDB会自动生成隐藏主键。覆盖索引和索引下推是优化查询的技术,覆盖索引允许仅通过索引获取数据,减少回表;索引下推可在存储引擎层面部分执行过滤条件,降低回表次数。
|
2月前
|
存储 关系型数据库 数据库
|
12月前
|
存储 数据库 索引
什么是聚簇索引什么是非聚簇索引 ?
什么是聚簇索引什么是非聚簇索引 ?
76 0
|
12月前
|
存储 数据库 索引
聚簇索引和非聚簇索引
聚簇索引和非聚簇索引
69 0
|
12月前
|
存储 Oracle 关系型数据库
主键索引是聚集索引还是非聚集索引
在聚簇索引中,主键索引的叶子节点存储的就是数据行本身,因此主键索引也被称为聚簇索引。在这种情况下,主键索引的物理顺序与数据行的物理顺序是一致的,这样可以提高查询性能和范围查询的效率。
90 0
|
12月前
|
存储 数据库 索引
聚簇索引与非聚簇索引
聚簇索引和非聚簇索引是关系数据库中常用的两种索引类型。它们在数据存储和索引组织方式上存在一些区别。下面将详细介绍聚簇索引和非聚簇索引的定义、特点以及适用场景。
201 0
|
存储 SQL 算法
聚簇索引和非聚簇索引区别
聚簇索引和非聚簇索引区别
131 0
|
存储 缓存 算法
聚簇索引和非聚簇索引的区别
聚簇索引和非聚簇索引的区别
88 0
|
存储 SQL 算法
【聚集索引、辅助索引、覆盖索引、联合索引、filesort过程】
【聚集索引、辅助索引、覆盖索引、联合索引、filesort过程】
109 0