【发布时间】:2012-08-26 04:13:05
【问题描述】:
我发现了很多类似 开头的帖子。很多时候我遇到过有人说“聚集索引基于聚集索引键对表内的数据进行物理排序”。这不是真的! 然后这些帖子继续描述它是如何通过链接列表或其他方式实际存储的。例如,post 表示
每个索引行都包含一个键值和一个指向任一索引的指针 B-tree 中的中间层页面,或 Leaf 层中的 Data 行 的指数。索引的每个级别中的页面都链接在一个 双向链表。数据链中的页面和其中的行 按聚集索引键的值排序。
这就引出了我的问题,数据页是存储表格数据的地方,对吧?那么如果对它们进行排序,并且其中的数据也按照索引列的值进行排序,为什么说聚集索引保持表数据按排序顺序是错误的呢?这是一张来自 Kalen Delaney 书中的图片,它显示了带有 CI 的表中的叶子页都是根据 CI 值排序的:
【问题讨论】:
标签: sql indexing clustered-index