mysql聚簇索引和非聚簇索引

目录

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

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

InnoDB引擎

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

MylSAM引擎

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

聚簇索引的优点和缺点

聚簇索引的优点:

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

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

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

聚簇索引的缺点:

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


参考

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

相关推荐
秦歌6662 分钟前
Agent Skills详解
服务器·前端·数据库
Mahir086 分钟前
Redis 分布式锁与 Redisson 深度解析:从原生实现到工业级解决方案
数据库·redis·分布式·缓存·面试
杨云龙UP6 分钟前
MySQL主库高峰期备份引发504故障:从库手动切换接管 + 主从恢复同步 + Docker版DB2重启实战_2026-05-17
linux·运维·数据库·mysql·docker·容器·centos
倔强的石头_9 分钟前
彻底告别Row-By-Row:标量子查询外连接改写与向量化引擎深潜
数据库
2301_8092445310 分钟前
如何解决宝塔面板磁盘空间占满问题_使用磁盘清理工具清理
jvm·数据库·python
六月雨滴15 分钟前
Oracle 数据库网络安全
数据库·安全·dba
En^_^Joy16 分钟前
Django模型:数据库操作全指南
数据库·django·sqlite
六月雨滴18 分钟前
Oracle 数据库网络安全之加密配置
数据库·web安全·oracle
小帅记事19 分钟前
MySQL 查询性能监控与分析 完整版
mysql
2401_8676239821 分钟前
如何设置用户默认表空间_ALTER USER DEFAULT TABLESPACE
jvm·数据库·python