gpt4 book ai didi

rdbms - 具有聚簇索引的表的记录是否按聚簇键物理排序?

转载 作者:搜寻专家 更新时间:2023-10-30 20:31:22 25 4
gpt4 key购买 nike

我想知道是否在其中一个属性上创建了具有聚集索引的表或特别是堆文件是根据该属性排序的。排序的堆文件和具有聚集索引的堆文件之间有区别吗?

最佳答案

Is there a difference between a sorted heap file and a heap file with clustered index ?

排序堆文件是一个元素有序的堆(类似数组的结构)。这就是 MyISAMALTER TABLE … ORDER BY …PostgreSQLCLUSTER 所做的。向此类表中插入新记录会破坏顺序。

聚簇索引是一个B-Tree。插入新记录可保持顺序。

聚簇表中的记录不一定按物理顺序排列(在某种意义上,聚簇键值较高的记录在文件或表空间中的偏移量较高)。

相反,记录在逻辑上是有序的:您可以通过 B-Tree 链接从一个记录遍历到另一个记录(或者在 B+Tree 的情况下页面之间的直接链接) >),但这仍然意味着随机磁盘寻道,因为逻辑上链接的页面不一定位于磁盘上的彼此附近。

某些数据库,例如 Oracle,允许按物理顺序读取索引(使用称为 INDEX FAST FULL SCAN 的操作),但不保持逻辑顺序但由于对页面的好处或顺序访问,速度更快。

不存在“带聚簇索引的堆文件”这样的东西:表组织要么是堆,要么是聚簇。

关于rdbms - 具有聚簇索引的表的记录是否按聚簇键物理排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5822377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com