背景:テーブルには約200mの行55GBがあります。
重複するテーブルに行をコピーオーバーする必要がありますが、BIGINT IDを使用します。もちろん、元のテーブルからCREATEするスクリプトを生成すると、テーブル名、PKのINT値、PRIMARYなどすべてが同じままになります。主な制約-すべてを変更する必要があります。
私の質問は、PRIMARY KEY CONSTRAINTの名前を変更し、それを元に戻さない場合、問題が発生するかどうかです。ストアドプロシージャまたは直接コマンドは、この制約をインデックスなどとして直接呼び出すことができますか?後で名前を変更する必要がある場合、それは瞬間的なプロセスですか、それとも長いプロセスはそのような大きなテーブルですか?
新しいインデックスを再作成する前に元のテーブルにドロップするだけなので、他のインデックスについては重要ではないと思います。
そしてもう1つの質問:このサイズのテーブルと、パフォーマンスを念頭に置いた大量のシステムでは、次の値のいずれかを変更することを再検討する必要がありますか?:
WITH (
PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON,
FILLFACTOR = 95
) ON [PRIMARY]