什么是聚集索引?
首先 innodb 引擎默认在主键上建立聚集索引,通常说的主键索引就是聚集索引,聚集索引会保存行上的所有数据,因此不需要额外的 IO
什么是辅助索引?
辅助索引 (Secondary Index) , 叶子节点只保存了行的键值和指向对应行的 “书签” , 一般指向的是聚集索引,此外 innodb 实现了覆盖索引 (Covering index) , 即叶子节点除了保存该行的键值还保存了对应索引列的值,如果不需要额外数据的话则不需要另外对聚集索引中的数据进行 IO
注: SQL Server的主键索引和普通索引的区别仅仅是唯一非空,而mysql innodb下不是, 另外严格来说主键是约束
二者差别
- 一个主文件仅有一个主索引,但可以有多个辅助索引;
- 主索引通常建立在主码/排序码上面;
- 可以利用主键索引重新组织主文件数据,辅助索引不可以。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




