我们知道我们在一个表中只能有一个主键,所以有没有办法知道表中唯一键的最大数量。我已经读过一个帖子,其中唯一键的数量取决于数量聚集索引。
答案 0 :(得分:2)
如果此SQL Server然后检查此Maximum Capacity Specifications for SQL Server
答案 1 :(得分:1)
我认为您对unique
约束和clustered
约束感到困惑。
Unique
键是一个键,您可以通过该键轻松判断您正在处理的 exatcly 记录。 Clustered
键是处理硬盘上记录的物理位置的键。因此,您可以为记录设置许多唯一约束,但只能对磁盘上的记录进行排序。如果您使用的是MS SQL服务器,请参阅@ user3414693提到的the link:
每张桌子的非聚集索引:
999(最大尺寸/数字SQL Server(32位))
999最大大小/数字SQL Server(64位)
您应该注意,这里的全部索引,不仅是唯一的索引。
目前无法找到Oracle的具体信息。
PS:另外你应该注意,如果你有一个uniqueidentifier
的主键,那么将主键作为集群键对于巨大的表来说可能是一个严重的性能问题。对于真实的Uniqueidentifier是一个非常大的数字,并且它不像IDENTITY
列那样被排序,因此当您必须移动物理时,可能会在添加新记录时遇到这种情况所有表数据。