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

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


1.聚簇索引(Clustered Index)


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


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


2.二级索引(Secondary Index)


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


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


3.联合索引(Composite Index)


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


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


4.总结:


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


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


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


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

目录
相关文章
|
3月前
|
存储 监控 数据库
什么是聚集索引和非聚集索引?
【8月更文挑战第3天】
1351 5
|
6月前
|
存储 关系型数据库 数据库
|
存储 数据库 索引
聚簇索引和非聚簇索引
聚簇索引和非聚簇索引
100 0
|
存储 Oracle 关系型数据库
主键索引是聚集索引还是非聚集索引
在聚簇索引中,主键索引的叶子节点存储的就是数据行本身,因此主键索引也被称为聚簇索引。在这种情况下,主键索引的物理顺序与数据行的物理顺序是一致的,这样可以提高查询性能和范围查询的效率。
133 0
|
存储 数据库 索引
聚簇索引与非聚簇索引
聚簇索引和非聚簇索引是关系数据库中常用的两种索引类型。它们在数据存储和索引组织方式上存在一些区别。下面将详细介绍聚簇索引和非聚簇索引的定义、特点以及适用场景。
428 0
|
存储 SQL 算法
聚簇索引和非聚簇索引区别
聚簇索引和非聚簇索引区别
194 0
|
存储 缓存 算法
聚簇索引和非聚簇索引的区别
聚簇索引和非聚簇索引的区别
119 0
|
存储 SQL 算法
【聚集索引、辅助索引、覆盖索引、联合索引、filesort过程】
【聚集索引、辅助索引、覆盖索引、联合索引、filesort过程】
129 0
|
存储 关系型数据库 MySQL
mysql索引(三)聚集索引与非聚集索引(辅助索引)
Mysql中常用的两个存储引擎innodb和mysiam的索引是不同的。 聚集索引就是以主键创建的索引 非聚集索引就是除了主键以外的索引。非聚集索引也叫做二级索引,不用纠结那么多名词,将其等价就行了。非聚集索引在建立的时候也未必是单列的,可以多个列来创建索引。
304 0
mysql索引(三)聚集索引与非聚集索引(辅助索引)
|
关系型数据库 MySQL C语言
mysql索引(五)联合索引
联合(组合)索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。
291 0
mysql索引(五)联合索引