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

  1. 聚簇索引(Clustered Index)

    • 特点:聚簇索引是表中数据行的物理排序方式,每张表只能有一个聚簇索引。通常,聚簇索引与主键相关联,但如果没有显式定义主键,则InnoDB存储引擎会选择一个唯一非空列作为聚簇索引。
    • 联系:聚簇索引实际上是表的主要排序顺序,因为它决定了数据行在磁盘上的物理排列。聚簇索引的叶子节点包含了实际数据行,而不仅仅是索引键值。因此,当您在查询中使用聚簇索引时,可以更快地检索数据。
  2. 二级索引(Secondary Index)

    • 特点:二级索引是表中除了聚簇索引之外的任何其他索引。一个表可以有多个二级索引,它们不会改变数据行的物理排序,而是提供了额外的索引路径以加速查询。
    • 联系:二级索引通过索引键值引用数据行,而不是直接包含数据行。当您查询时,数据库会首先使用二级索引找到匹配的行的主键,然后使用主键查找实际的数据行。因此,二级索引可以加速特定的查询,但需要额外的查找步骤。
  3. 联合索引(Composite Index)

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

要总结:

  • 聚簇索引是表的主要物理排序方式,通常与主键相关联。
  • 二级索引是表的其他索引,用于加速查询,但不改变数据行的物理排序。
  • 联合索引是一种包含多个列的索引,可以是聚簇索引或二级索引,用于加速多列的查询。

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

相关推荐
zuoerjinshu2 小时前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
NocoBase3 小时前
【2.0 教程】第 1 章:认识 NocoBase ,5 分钟跑起来
数据库·人工智能·开源·github·无代码
Hoshino.415 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
Oueii6 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
未来龙皇小蓝7 小时前
【MySQL-索引调优】11:Group by相关概念
数据库·mysql·性能优化
2401_831824967 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
njidf7 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
twc8297 小时前
大模型生成 QA Pairs 提升 RAG 应用测试效率的实践
服务器·数据库·人工智能·windows·rag·大模型测试
@我漫长的孤独流浪7 小时前
Python编程核心知识点速览
开发语言·数据库·python
2401_851272997 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python