背景:表有大约200米行55GB。
我需要对一个重复的表进行行复制,但是使用BIGINT标识,当然从原始表生成脚本到CREATE时,它会保留一切相同的内容,包括表名,PK的INT值,和主要约束 - 所有这些都需要改变。
我的问题是,如果我更改了PRIMARY KEY CONSTRAINT名称,并且没有将其更改回去,它会搞砸吗?可能存储过程或直接命令直接调用此约束,作为索引还是什么?如果以后需要重命名,那么这是一个瞬间过程还是一个很长的过程?
我认为其他索引不重要,因为我应该在重新创建新表之前将它们放在原始表上,对吗?
还有一个问题:在这个尺寸的桌子上 - 以及考虑到性能的高容量系统,我是否应该重新考虑更改以下任何值?:
WITH (
PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON,
FILLFACTOR = 95
) ON [PRIMARY]
答案 0 :(得分:4)
索引名称通常不会在编程API中直接引用。没有“从索引中选择”也没有“插入索引”语法,所有内容都引用了表对象。虽然索引名称是公开的,但在很少的地方,例如table hints。
但是您可能已经拥有了解物理布局的管理/维护脚本/作业(即索引和约束名称)。