mysql聚簇索引和非聚簇索引

news/2025/2/6 23:18:05/

目录

  • InnoDB引擎
  • MylSAM引擎
  • 聚簇索引的优点和缺点
  • 参考

聚簇索引和非聚簇索引的区别:叶节点是否存放一整行记录。
聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据。
非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置。

InnoDB主键使用的是聚簇索引,MylSAM不管是主键索引,还是二级索引(辅助键索引)都使用的都是非聚簇索引。

InnoDB引擎

在lnnoDB引擎中,主键索引采用的就是聚簇索引结构存储。
在这里插入图片描述

MylSAM引擎

在MyISAM引擎中,主键索引和辅助键索引采用的都是非聚簇索引结构存储。
在这里插入图片描述

聚簇索引的优点和缺点

聚簇索引的优点
1.当需要取出一定范围的数据时,用聚簇索引也比用非聚簇索引好。
2当通过聚簇索引查找目标数据时理论上比非聚簇索引要快,因为非聚簇索引定位到对应主键时还要多一次目标记录寻址,即多一次I/O。
3.使用覆盖索引扫描的查询可以直接从索引中获取所有需要的列,而不再需要额外的数据检索步骤。

聚簇索引的缺点
当执行插入或修改操作时,聚簇索引的更新可能会涉及到多个数据页的修改。非聚簇索引只需要修改索引页而不需要修改实际数据行。可能导致对磁盘的频繁写入和更多的数据移动。


参考

聚簇索引与非聚簇索引的区别


http://www.ppmy.cn/news/1295126.html

相关文章

Excel4:数据匹配与连接

数据:八月成交数据&八月获客数据 业务1 八月成交数据表格中有三个子表,需要后两个子表连接到第一个表中。 思路 首先需要对业务组名称进行分裂,同时需要用到一款函数可以自动识别并匹配数据,这个函数就是vlookup,也…

Java 并发之《深入理解 JVM》关于 volatile 累加示例的思考

在周志明老师的 《深入理解 JVM》一书中关于 volatile 关键字线程安全性有一个示例代码(代码有些许改动,语义一样): public class MyTest3 {private static volatile int race 0;private static void increase() {race;}public …

【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现

【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现 更新时间:2023-12-29 1 题目 赛题 B DNA 存储中的序列聚类与比对 近年来,随着新互联网设备的大量涌入和对其服务需求的指数级增长,越来越多的数据信息被产…

Binius:基于binary fields的SNARKs(Part 2)

1. 引言 前序博客有: Binius:基于binary fields的SNARKs(Part 1)Binius:助力ZK行业发展 本文重点关注: 1)concatenated codes:可扩展对small fields的多项式承诺方案2&#xff0…

【比赛专题】江苏省信息安全管理与评估 理论题样题题库整理

GZ032 信息安全管理与评估赛题第1套 一、 单选题 (每题 2 分,共 35 题,共 70 分) 1、《中华人民共和国数据安全法》已由中华人民共和国第十三届全国人民代 表大会常务委员会第二十九次会议通过,现予公布,自…

ASP.NET可视化流程设计器源码

源码介绍: ASP.NET可视化流程设计器源码已应用于众多大型企事业单位。拥有全浏览器兼容的可视化流程设计器、表单设计器、基于角色的权限管理等系统开发必须功能,大大为您节省开发时间,是您开发OA.CRM、HR等企事业各种应用管理系统和工作流系统的最佳基…

如何在 Linux 服务器上配置基于 SSH 密钥的身份验证

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 如何在 Linux 服务器上配置基于 SSH 密钥的身份验证 介绍 SSH是一种加密协议,用于管理服务器并与服…

【React系列】JSX核心语法和原理

本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. ES6 的 class 虽然目前React开发模式中更加流行hooks,但是依然有很多的项目依然是使用类组件&#x…