4,000 万件のレコードを持つテーブルがあります。
何が一番(速い)ですか?そのテーブルに列を直接作成するか、ID 列を持つ別のテーブルを作成して最初からデータを挿入しますか?
4,000 万件のレコードを含むテーブルに ID 列を作成した場合、その作成にかかる時間を見積もることはできますか?
4,000 万件のレコードを持つテーブルがあります。
何が一番(速い)ですか?そのテーブルに列を直接作成するか、ID 列を持つ別のテーブルを作成して最初からデータを挿入しますか?
4,000 万件のレコードを含むテーブルに ID 列を作成した場合、その作成にかかる時間を見積もることはできますか?
ハードウェアと使用している DBMS に大きく依存すると思います。私の環境では、新しいテーブルを作成して古いデータをそこにコピーするのに約 3 ~ 4 時間かかります。他の経験に基づくと、ID 列の追加にはほぼ同じ時間がかかると予想されます。私は、SAN 上に複数のサーバーを備えた Oracle を使用しているため、単一サーバー環境よりも高速に実行できます。座って待つしかないかもしれません。
データベースのテスト コピーを作成し、その上に列を作成して、所要時間を確認することはできませんか?
クエリ ウィンドウで使用した場合ALTER TABLE [...] ADD ...
、かなり高速です。実際、ずっと前に終了していたはずです。Management Studio テーブル デザイナーを使用した場合、テーブルを新しいテーブルにコピーし、古いテーブルを削除してから、新しいテーブルの名前を古いテーブルに変更します。必要な追加スペースに対応するためにデータベースとログを事前に拡張していない場合は特に、しばらく時間がかかります。すべて 1 つのトランザクションであるため、ここで停止すると、ロールバックにさらに 16 時間かかります。