如果列NOT NULL UNIQUE CLUSTERED INDEX将是主键,则可能的性能更改
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果列NOT NULL UNIQUE CLUSTERED INDEX将是主键,则可能的性能更改相关的知识,希望对你有一定的参考价值。
如果列被声明为NOT NULL UNIQUE CLUSTERED INDEX
,那么它会使PRIMARY KEY
对性能或任何实际的变化做任何改变吗?
它不应该有任何影响。在少数手抄1中,PRIMARY KEY
与UNIQUE KEY
相同,附加条件是所有列都被强制为非NULL。因此,将此列装饰为PRIMARY KEY不应导致实现该表的物理数据结构2的任何更改。
CLUSTERED
是一个完全独立的概念 - 有时与PRIMARY KEY
混为一谈。如果表没有CLUSTERED INDEX
并且添加了PRIMARY KEY
,那么默认情况下,这也将被定义为CLUSTERED INDEX
。但是如果需要的话,这种行为可以被覆盖,而且这两种行为在实践中并没有结合在一起。
1I实际上在这一点上无法想到任何相关的差异,但这只是为了避免挑剔,希望如此。
2聚簇索引和任何非聚簇索引和统计信息。
PRIMARY KEY
不允许null并且必须是唯一的,约束NOT NULL UNIQUE
也可以像PRIMARY KEY
那样将相似的规则应用到列中,但是,你的表只能有一个主键,但可能有多个NOT NULL UNIQUE
列。
并且通过NOT NULL UNIQUE CLUSTERED INDEX
和PRIMARY KEY
,两者都将按照CLUSTERED INDEX进行存储,排序和结构化,因此在选择,插入,更新或删除的操作性能基础上,应该没有什么不同
唯一的区别可能在于元数据本身。
以上是关于如果列NOT NULL UNIQUE CLUSTERED INDEX将是主键,则可能的性能更改的主要内容,如果未能解决你的问题,请参考以下文章
如何遍历列,检查任何列中是不是存在特定值,改变新列并输入 1 如果存在,如果不存在则输入 0?
如果年龄列基于oracle中的出生日期列为空,如何更新年龄列?