gpt4 book ai didi

sql-server - SQL Server 如何存储复合主键?

转载 作者:行者123 更新时间:2023-12-03 00:17:13 26 4
gpt4 key购买 nike

我对数据库如何存储主键的理解的限制是基于聚集键的btree,每个节点存储其余的列。

自从上个世纪大学以来,我就没有更新过这种理解,并且很想知道 SQL Server 与单个主键相比如何存储复合主键。

有人可以帮我指出一些细节吗?

最佳答案

复合键与普通的单列键完全相同,但更长并且由多个值组成。假设您在单个列(例如 A)上有一个 B 树。非叶页包含具有 A 列值的槽以及指向叶页的指针。叶页包含带有 A 列值(键)的槽,后跟该行的所有其他列。复合键完全相同,但槽中的值将是复合值,按照它们在键中声明的顺序排列。

Anatomy of a Page 对 SQL Server 数据页的内部结构有很好的描述。 。此外,Kelan Delaney 的旧 SQL 7.0 书中的第 6 章可在 Technet 上在线获取:Tables 。仍然是一个很好的资源,基础知识仍然适用于 SQL 2008 R2(更改的内容主要围绕最大类型和压缩设置,但大部分信息仍然有效)。

关于sql-server - SQL Server 如何存储复合主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3384266/

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