1 sql-server database-internals
我正在关注作者(堆栈程序员)指出的这篇SO post
SQL Server 使用标识列作为键值来引用特定行。因此只能创建一个标识列。
他还提到
此外,如果没有明确声明标识列,Sql server 内部会存储一个单独的列,其中包含每行的键值。
谁能更详细地解释这两点(特别是第二点)?
谢谢
谁能更详细地解释这两点(特别是第二点)?
我希望不会,因为他们都错了。在 SQL Server 中,行由键(在 B 树中)或行 ID(在堆中)标识。非唯一聚集索引有一个内部唯一标识符列。IDENTITY 类型的列经常也用作主键这一事实与问题正交。
不要将您的知识建立在论坛帖子的内容上,包括 StackOverflow,包括这篇帖子。一个很好的来源是官方文档,例如。表和索引数据结构体系结构。阅读一本好书,例如SQL Server Internals系列。
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |