Nat*_*Nat 5 sql-server storage primary-key
我理解数据库如何存储主键的限制是基于聚簇键的btree,每个节点存储其余列.
自上个世纪大学以来,我没有更新这种理解,并且很想知道SQL Server如何存储复合主键与单个主键相比.
任何人都可以帮我指点一些细节吗?
复合键与普通的单列键完全相同,但更长并且由多个值组成。假设您在单个列(例如 A)上有一个 B 树。非叶页包含具有 A 列值的槽以及指向叶页的指针。叶页包含带有 A 列值(键)的槽,后跟该行的所有其他列。复合键完全相同,但槽中的值将是复合值,按照它们在键中声明的顺序排列。
Anatomy of a Page上对 SQL Server 数据页的内部结构有很好的描述。此外,Kelan Delaney 的旧 SQL 7.0 书中的第 6 章可在 Technet: Tables上在线获取。仍然是一个很好的资源,基础知识仍然适用于 SQL 2008 R2(更改的内容主要围绕最大类型和压缩设置,但大部分信息仍然有效)。
| 归档时间: |
|
| 查看次数: |
1241 次 |
| 最近记录: |