我只是想知道我们可以在没有任何类型索引的 sql server 表上创建一个主键吗?
问问题
6793 次
3 回答
15
不可以。作为一个实现细节,SQL Server 使用索引来维护主键。你不能阻止它这样做。主键:
- 确保不存在重复的键值
- 允许识别/访问单个行
SQL Server 已经拥有提供这些功能的机制——唯一索引——因此它使用这些机制来强制执行约束。
于 2012-09-04T07:23:29.873 回答
1
实际上,索引功能与遍历书籍的方式相同。除非有页码及其与主题的关系,否则无法转到特定页面或主题。这种行的“分页”(排序)是由 SQL Server 中的聚集索引物理完成的。如果表中没有 PK,则可以在任何唯一键限定列上添加聚集索引。由于一张表上不能有多个聚集索引,并且所有其他非聚集索引都依赖于聚集索引进行搜索/遍历,因此您不能在没有聚集索引的情况下创建列 PK。
于 2012-09-04T11:37:52.740 回答
1
NONCLUSTERED
您可以通过在单词后面添加关键字来创建具有非聚集索引的主键的表primary key
。
于 2016-06-28T22:53:04.353 回答