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

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


1.聚簇索引(Clustered Index)


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


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


2.二级索引(Secondary Index)


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


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


3.联合索引(Composite Index)


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


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


4.总结:


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


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


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


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

目录
打赏
0
1
2
1
11
分享
相关文章
mysql索引(七)唯一索引
唯一索引(UNIQUE):与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。
533 0
mysql索引(七)唯一索引
贝壳面试:什么是回表?什么是索引下推?
在40岁老架构师尼恩的读者交流群中,近期有成员获得了得物、阿里、滴滴等一线互联网企业的面试机会,遇到了诸如“MySQL索引下推”、“回表查询”等重要面试题。由于缺乏准备,部分成员未能通过面试。为此,尼恩系统地整理了相关知识点,帮助大家提升技术实力,顺利通过面试。具体内容包括MySQL的架构、回表查询的工作原理及其性能问题、索引下推的底层原理和优势等。此外,尼恩还提供了优化建议和实战案例,帮助大家更好地理解和应用这些技术。尼恩的技术资料《尼恩Java面试宝典PDF》也收录了这些内容,供后续参考。
贝壳面试:什么是回表?什么是索引下推?
聚集索引与非聚集索引的区别
聚集索引与非聚集索引的区别
聚簇索引与非聚簇索引
聚簇索引和非聚簇索引是关系数据库中常用的两种索引类型。它们在数据存储和索引组织方式上存在一些区别。下面将详细介绍聚簇索引和非聚簇索引的定义、特点以及适用场景。
473 0
聚簇索引和非聚簇索引区别
聚簇索引和非聚簇索引区别
227 0
【聚集索引、辅助索引、覆盖索引、联合索引、filesort过程】
【聚集索引、辅助索引、覆盖索引、联合索引、filesort过程】
149 0
mysql索引(五)联合索引
联合(组合)索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。
329 0
mysql索引(五)联合索引
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等