将数据插入没有主键的表中?

时间:2012-09-18 11:30:04

标签: sql-server primary-key

我很惊讶地知道SQL Server(我测试了2008 R2版本,但这似乎也适用于早期版本)允许将数据插入到没有定义主键(因此也就是聚簇索引)的表中。

如何以及如何为这些表物理存储数据?

1 个答案:

答案 0 :(得分:3)

有用的链接:

http://www.sqlmag.com/blog/sql-server-questions-answered-28/sql-server/what-happens-if-i-drop-a-clustered-index-137109

  问:我听说聚集索引是“数据”,但我没有   完全明白这意味着什么。如果我删除聚集索引,我会   丢失数据?

     

答:我经常被问到这个问题,我发现了索引结构   倾向于混淆人;索引看起来很神秘,结果就是   无意中认为非常复杂。可以存储表格   内部有或没有聚集索引。如果表没有   一个聚集索引,它被称为堆。如果表有群集   index,它通常被称为聚簇表。当一个群集   创建索引后,SQL Server将临时复制和排序   数据从堆到聚簇索引键的顺序(因为键   定义数据的顺序)并删除原始页面   与堆相关联。从现在开始,SQL Server将会   通过双向链表和B +树逻辑维护顺序   用于导航到数据中的特定点。