1

1,500万行の既存のテーブルがあります。ID列を追加して、主キーにします。問題は、このテーブルが常に移動していることです(挿入、更新、削除)。これでID列を追加することは可能ですか?または、このテーブルを更新するバックグラウンドプロセス(面倒な作業です)を停止する必要がありますか?

ありがとうVikram

4

1 に答える 1

1

1,500万行あるとすると、ALTERTABLEステートメントの実行にかなりの時間がかかる場合があります。

SQLServerはALTERTABLEのテーブルヒントを提供しないため、SQLServerがALTERTABLEステートメントを実行するときにテーブルロックを取得すると想定するのは非常に安全です。

この間、他のプロセスは選択、挿入、更新、または削除を許可されないため、他のプロセスとの競合状態について心配する必要はありません。

プロセスに十分な時間がかかる場合、他のプロセスでタイムアウトエラーが発生します。プロセスの記述方法に応じて、これは悪いことか問題ではないかのどちらかですが、それを理解する必要があります。それが私なら、私はそれらをオフにします。

于 2011-01-28T16:54:26.377 に答える