您的位置:首页 > 数据库 > MySQL

MySQL在Innodb和MyISAM中的二级索引

2017-07-05 09:40 253 查看
        本文主要讲解InnoDB和MyISAM两种存储引擎的二级索引区别。

1.二级索引与聚簇索引

聚簇索引的认识请参考百科点击打开链接

二级索引,又被成为辅助索引,在不同存储引擎中的内容不同。

两者的区别在于:聚簇索引的叶子节点存放的是主键值和数据行,支持覆盖索引;二级索引的叶子节点存放的是主键值或指向数据行的指针。

2.两种引擎中的区别

InnoDB中的二级索引存放的是主键值,如果需要查询对应的数据行,需要回表查询,即在聚簇索引中进一步查找对应的数据行。这样可以避免在行移动或者插入新数据时出现的页分裂问题。

MyISAM中无论是主键索引还是二级索引,索引的叶子节点存放的都是指向数据行的指针,保证可以通过索引进而查找到对应的数据行,只需要对索引进行一遍查找。这样会存在页分裂问题。

参考文献

高性能MySQL,宁海元等,电子工业出版社,2013版
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: