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

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


1.聚簇索引(Clustered Index)


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


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


2.二级索引(Secondary Index)


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


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


3.联合索引(Composite Index)


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


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


4.总结:


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


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


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


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

目录
相关文章
|
SQL 关系型数据库 MySQL
mysql索引(七)唯一索引
唯一索引(UNIQUE):与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。
374 0
mysql索引(七)唯一索引
|
1月前
|
存储 SQL 关系型数据库
✅什么是聚簇索引和非聚簇索引、以及回表、索引下推
数据库中的聚簇索引和非聚簇索引是两种不同的数据组织方式。聚簇索引将数据与索引一起存储,主键决定行的物理顺序,适用于InnoDB。非聚簇索引则索引与数据分开,叶子节点存储主键值和指针。在查询时,非聚簇索引需回表操作找到主键后再查询数据。无主键时,InnoDB会自动生成隐藏主键。覆盖索引和索引下推是优化查询的技术,覆盖索引允许仅通过索引获取数据,减少回表;索引下推可在存储引擎层面部分执行过滤条件,降低回表次数。
|
11月前
|
存储 数据库 索引
聚簇索引和非聚簇索引
聚簇索引和非聚簇索引
68 0
|
11月前
|
存储 Oracle 关系型数据库
主键索引是聚集索引还是非聚集索引
在聚簇索引中,主键索引的叶子节点存储的就是数据行本身,因此主键索引也被称为聚簇索引。在这种情况下,主键索引的物理顺序与数据行的物理顺序是一致的,这样可以提高查询性能和范围查询的效率。
87 0
|
存储 SQL 算法
聚簇索引和非聚簇索引区别
聚簇索引和非聚簇索引区别
127 0
|
存储 缓存 算法
聚簇索引和非聚簇索引的区别
聚簇索引和非聚簇索引的区别
87 0
|
存储 SQL 算法
【聚集索引、辅助索引、覆盖索引、联合索引、filesort过程】
【聚集索引、辅助索引、覆盖索引、联合索引、filesort过程】
107 0
|
关系型数据库 MySQL C语言
mysql索引(五)联合索引
联合(组合)索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。
234 0
mysql索引(五)联合索引
|
存储 关系型数据库 MySQL
mysql索引(三)聚集索引与非聚集索引(辅助索引)
Mysql中常用的两个存储引擎innodb和mysiam的索引是不同的。 聚集索引就是以主键创建的索引 非聚集索引就是除了主键以外的索引。非聚集索引也叫做二级索引,不用纠结那么多名词,将其等价就行了。非聚集索引在建立的时候也未必是单列的,可以多个列来创建索引。
252 0
mysql索引(三)聚集索引与非聚集索引(辅助索引)
|
存储 SQL 关系型数据库
mysql索引(六)主键索引
主键索引(PRIMARY):它是一种特殊的唯一索引,不允许有空值。 主键索引,简称主键,原文是PRIMARY KEY,由一个或多个列组成,用于唯一性标识数据表中的某一条记录。一个表可以没有主键,但最多只能有一个主键,并且主键值不能包含NULL。
1307 0
mysql索引(六)主键索引