没有索引的表的 SQL Server 物理数据布局

发布于 2024-07-16 08:36:23 字数 230 浏览 6 评论 0原文

我很好奇是否有人知道数据在没有索引(甚至没有 PK)的表中的物理排列方式。 在这个问题中OP 声称需要很长时间才能删除集群 PK。 我知道聚集索引就是数据本身,但是新的数据排列是什么可以解释较长的处理时间?

I'm curious to see if anyone knows how is the data physically arranged in tables that don't have an index (not even a PK). In this question the OP claims it is taking a long time to drop a clustered PK. I know that the clustered index is the data itself, but what would be the new data arrangement that explains the long processing time?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情话墙 2024-07-23 08:36:23

它将是一个 HEAP< /a>:

根据定义,堆表是没有任何聚集索引的表。

基于堆的表的不同页占据磁盘上不同的非连续区域,并且它们不以任何方式链接在一起。

表上定义的每个非聚集索引都会在 sysindexes 表中拥有一个对应的条目,其 indid 介于 2 到 254 之间,指向第一个 IAM(索引分配映射)页。

IAM 页表示数据库对象(表或索引)使用的所有页的链接列表,并由 SQL Server 用于分配和取消分配存储空间。

请务必记住,IAM 页面不用于搜索数据或索引页,而仅用于分配和取消分配它们。

It will be a HEAP:

A heap table, by definition, is a table that doesn't have any clustered indexes.

Different pages of the heap-based table occupy different non-contiguous areas on a disk, and they are not linked together in any way.

Each non-clustered index defined on the table will have a corresponding entry in a sysindexes table with an indid between 2 and 254, pointing to the first IAM (Index Allocation Map) page.

IAM pages represent the linked list of all pages used by the database object (table or index) and used by SQL Server for allocating and deallocating storage space.

It is important to remember that IAM pages are not used to search through data or index pages, but only to allocate and deallocate them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文