如果Oracle表有数据,我们应该在哪个顺序上应用主密钥,外键约束并创建索引?
1.在哪个顺序中,我们应该应用主键,外键约束并创建索引,如果Oracle表具有数百万个数据并且没有先前的约束?
2.在应用(创建)索引时应用主密钥和外键约束时,我们可以使用“ Noging Parallel”?还是任何其他方法,以便更快地应用主密钥和外键约束?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我对这个主题的想法;看看这是否有帮助。
好吧,
由于您无法创建外键约束,
使用索引
子句),,
的主键约束,Oracle将“跳过”检查可能的重复值,因为唯一的索引不允许它们
相同,因为
not
not null Future 主键列的约束;主键不允许
null
s so-如果列已经是而不是null
,则执行主密钥约束可以跳过null检查
我不知道
您可以在没有日志记录的情况下进行操作吗?是的:
但是您可能需要将索引和表更改回
noparallel
和记录
完成初始创建后。My thoughts on the subject; see if anything of this helps.
Well,
When you
USING INDEX
clause)On the other hand,
USING INDEX
clause, Oracle will "skip" check for possible duplicate values because unique index won't allow themThe same goes for
NOT NULL
constraint on future primary key columns; primary key doesn't allowNULL
s so - if a column already isNOT NULL
, enforcing primary key constraint can skipNULL
check as wellI don't know
Can you do it with no logging and in parallel? Yes:
But you'll probably want to change the index and table back to
NOPARALLEL
andLOGGING
when the initial creation is done.