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

  1. 聚簇索引(Clustered Index)

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

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

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

要总结:

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

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

相关推荐
kejijianwen1 小时前
JdbcTemplate常用方法一览AG网页参数绑定与数据寻址实操
服务器·数据库·oracle
编程零零七1 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
高兴就好(石4 小时前
DB-GPT部署和试用
数据库·gpt
这孩子叫逆5 小时前
6. 什么是MySQL的事务?如何在Java中使用Connection接口管理事务?
数据库·mysql
Karoku0665 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
码农郁郁久居人下5 小时前
Redis的配置与优化
数据库·redis·缓存
MuseLss6 小时前
Mycat搭建分库分表
数据库·mycat
Hsu_kk7 小时前
Redis 主从复制配置教程
数据库·redis·缓存
DieSnowK7 小时前
[Redis][环境配置]详细讲解
数据库·redis·分布式·缓存·环境配置·新手向·详细讲解
程序猿小D7 小时前
第二百三十五节 JPA教程 - JPA Lob列示例
java·数据库·windows·oracle·jdk·jpa