1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 数据库索引分类 聚集索引和非聚集索引

数据库索引分类 聚集索引和非聚集索引

时间:2018-12-01 04:24:41

相关推荐

数据库索引分类 聚集索引和非聚集索引

聚集索引:聚集索引的逻辑顺序决定了表数据行的物理存储顺序。也就是数据库中相邻的记录在物理磁盘上的地址也是相邻的。因为真实的物理存储顺序只能有一种,所以一张表只能有一个聚集索引。

主键不一定是聚集索引,可以把其他唯一行作为聚集索引的。主键索引可以直接存储指向数据行的指针。

NoSQL用的是B-树索引。

MyISAM和Innodb引擎都是用的B+树索引,相对B-树叶子节点增加了顺序指针,方便做范围查询。

MyISAM用的是非聚集索引,叶子节点的保存地址,辅助索引也是。

Innodb索引是聚集索引,叶子节点直接保存地址,辅助索引是非聚集索引,叶子节点保存的是主键。

这解释了为什么Innodb主键需要尽可能简单,并且最好要单调(自增)。

Innodb 主键索引 插入 删除节点

/George1994/p/7324759.html

请尽量再InnoDB上采用自增字段做表的主键。因为InnoDB数据文件本身是一棵B+tree,非单调的主键会造成在插入新纪录时数据文件为了维持B+Tree的特征而频繁的分裂调整,十分低效。而使用自增字段作为主键则是一个很好的选择。如果表使用自增字段,那么每次插入新的记录,记录就会顺序添加当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页。这样就会形成一个紧凑的索引结构,近似顺序填满。由于每次插入时也不需要移动已有数据,因此效率很高,也不会增加很多开销在维护索引上。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。