mysql聚簇索引和非聚簇索引

目录

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

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

InnoDB引擎

在lnnoDB引擎中,主键索引采用的就是聚簇索引结构存储。

MylSAM引擎

在MyISAM引擎中,主键索引和辅助键索引采用的都是非聚簇索引结构存储。

聚簇索引的优点和缺点

聚簇索引的优点:

1.当需要取出一定范围的数据时,用聚簇索引也比用非聚簇索引好。

2当通过聚簇索引查找目标数据时理论上比非聚簇索引要快,因为非聚簇索引定位到对应主键时还要多一次目标记录寻址,即多一次I/O。

3.使用覆盖索引扫描的查询可以直接从索引中获取所有需要的列,而不再需要额外的数据检索步骤。

聚簇索引的缺点:

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


参考

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

相关推荐
Mahir085 小时前
Redis 与 MySQL 数据同步:一致性保证的完整解决方案
数据库·redis·mysql·缓存·面试·数据一致性
2301_769340676 小时前
如何在 Vuetify 中可靠捕获 Chip 关闭事件(包括键盘触发).txt
jvm·数据库·python
AC赳赳老秦6 小时前
供应链专员提效:OpenClaw自动跟踪物流信息、更新库存数据,异常自动提醒
java·大数据·服务器·数据库·人工智能·自动化·openclaw
·醉挽清风·6 小时前
学习笔记—MySQL—库表操作
笔记·学习·mysql
灵犀学长6 小时前
基于 Spring ThreadPoolTaskScheduler + CronTrigger 实现的动态定时任务调度系统
java·数据库·spring
北秋,7 小时前
PostgreSQL(Postgres)数据库基础用法 + 数字型 + 字符型 完整联合注入实战
数据库·postgresql·开源
m0_596749097 小时前
JavaScript中手动实现一个new操作符的底层逻辑
jvm·数据库·python
多加点辣也没关系7 小时前
Redis 的安装(详细教程)
数据库·redis·缓存
数据库小学妹8 小时前
数据库连接池避坑指南:告别“连接超时”与“资源耗尽”,让系统跑得更快!
数据库·redis·sql·mysql·缓存·dba
dishugj8 小时前
HANA 数据库备份与恢复
数据库·oracle