当前位置: 首页 > news >正文

关于聚簇索引

目录

      • **核心特性**
      • **与非聚簇索引(二级索引)的区别**
      • **优点**
      • **缺点**
      • **示例场景**
      • **设计建议**

聚簇索引(Clustered Index)是 一种将数据行物理存储顺序与索引键值逻辑顺序紧密结合的索引结构。在 MySQL 的 InnoDB 引擎中,聚簇索引直接决定了表中数据的物理排列方式,因此每个表有且只有一个聚簇索引。


核心特性

  1. 数据即索引
    聚簇索引的叶子节点直接存储完整的数据行,而非指向数据的指针。这意味着找到索引即找到数据,无需二次查找。

  2. 主键默认成为聚簇索引

    • 若表定义了主键(PRIMARY KEY),InnoDB 自动将其作为聚簇索引。
    • 若无主键,则选择第一个**唯一且非空(UNIQUE NOT NULL)**的列作为聚簇索引。
    • 若两者均无,InnoDB 会隐式生成一个隐藏的 ROW_ID 作为聚簇索引。
  3. 物理有序存储
    数据行按聚簇索引键值的顺序存储在磁盘页中。范围查询(如 BETWEENORDER BY)效率高,因为相邻键值的数据物理相邻。


与非聚簇索引(二级索引)的区别

特性聚簇索引非聚簇索引(二级索引)
存储内容数据行本身索引键值 + 对应主键(或ROW_ID)
查询流程直接命中数据先查索引获取主键,再回表查聚簇索引
数量限制每个表仅一个可创建多个
依赖关系独立存在依赖聚簇索引(需通过主键定位数据)

优点

  • 高效的主键查询:直接定位数据行,无需额外I/O。
  • 快速范围查询:连续键值的数据物理相邻,减少磁盘寻道时间。
  • 覆盖索引优化:若查询字段全部属于聚簇索引键,无需回表。

缺点

  • 插入依赖顺序:若主键非自增(如随机UUID),插入可能导致页分裂,降低写入性能。
  • 更新主键代价高:修改聚簇索引键值时,需移动整行数据。
  • 二级索引查询需回表:通过二级索引查询非索引字段时,需额外回表操作。

示例场景

假设用户表 users 结构如下:

CREATE TABLE users (id INT PRIMARY KEY,          -- 聚簇索引email VARCHAR(100) UNIQUE,name VARCHAR(50),INDEX idx_email (email)       -- 二级索引
);
  • 通过 id 查询(聚簇索引):
    直接访问聚簇索引叶子节点,立即获取数据行。

  • 通过 email 查询(二级索引):

    1. idx_email 中找到对应 emailid
    2. 用此 id 回表查询聚簇索引,获取完整数据行。

设计建议

  1. 优先使用自增主键(如 AUTO_INCREMENT),避免随机写入导致的页分裂。
  2. 避免频繁更新主键,减少数据移动开销。
  3. 谨慎选择聚簇索引键,通常主键应满足高频查询、有序插入的需求。

通过合理利用聚簇索引,可以显著优化查询性能,但需结合业务场景权衡插入和更新操作的效率。

相关文章:

  • 利用Arcgis自己绘制shp文件
  • 基于MTF的1D-2D-CNN-BiLSTM-Attention时序图像多模态融合的故障分类识别(Matlab完整源码和数据),适合研究学习,附模型研究报告
  • 若干查找算法
  • 【漫话机器学习系列】224.双曲正切激活函数(Hyperbolic Tangent Activation Function)
  • Maven进阶
  • Myweb项目——面试题总结
  • 腾讯云物联网平台
  • ASP.NET Core自动事务ActionFilter
  • 数据预处理之特征选择 (Feature Selection)
  • 深入探究 MySQL 架构:从查询到硬件
  • 100个节点的部署,整合Docker、Kubernetes和Jenkins的详细设计
  • 安全生产知识竞赛宣传口号160句
  • OpenCV --- 图像预处理(七)
  • 科学养生,拥抱健康生活
  • RD电子实验记录本选用贴士A-B-C
  • 探秘卷积神经网络:深度学习的图像识别利器
  • OpenCV第6课 图像处理之几何变换(缩放)
  • 33.状态压缩动态规划
  • 当JIT遇见K8s
  • Go 1.24 中的弱指针包 weak 使用介绍
  • 挤占学生伙食费、公务考察到景区旅游……青岛通报5起违规典型问题
  • 下任美联储主席热门人选沃什:美联储犯下“系统性错误”,未能控制一代人以来最严重的通胀
  • 报告:到2030年我国无人机产业将率先实现万亿规模
  • 巴达玛·利斯瓦达恭当选世界羽联主席,张军任理事会理事
  • 安徽铁塔回应“指挥调度中心大屏现不雅视频”:将严肃处理
  • 俄外长拉夫罗夫将出席金砖国家外长会