mysql聚簇索引和非聚簇索引

目录

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

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

InnoDB引擎

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

MylSAM引擎

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

聚簇索引的优点和缺点

聚簇索引的优点:

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

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

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

聚簇索引的缺点:

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


参考

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

相关推荐
gmaajt25 分钟前
mysql如何备份与恢复函数定义_mysql mysqldump导出存储对象
jvm·数据库·python
阿丰资源43 分钟前
基于SpringBoot的在线视频教育平台的设计与实现(附源码+数据库+文档,一键运行)
数据库·spring boot·后端
qq_460978401 小时前
Python爬虫怎么模拟手机端抓取_设置手机型号User-Agent字符串
jvm·数据库·python
oldking呐呐1 小时前
MySQL从入门到入土 -- 2.数据库基础
后端·mysql
m0_617881425 小时前
如何高效进行堆叠分类器的超参数调优:解决 GridSearchCV 卡顿问题
jvm·数据库·python
编程自留地5 小时前
项目sql语句
前端·数据库·sql
m0_588758485 小时前
如何高效批量删除SQL数据_使用脚本分段删除降低压力
jvm·数据库·python
abc123456sdggfd5 小时前
Layui表单验证失败时如何修改默认弹出的Tips气泡颜色
jvm·数据库·python
Bert.Cai5 小时前
MySQL TRIM()函数详解
数据库·mysql
2301_800976936 小时前
数据库的基本操作后续
java·数据库·sql