(他のテーブルのデータ、計算などに基づいて)新しいデータを挿入する前に、約175万行のテーブルを切り捨てるストアドプロシージャがあります。
基本的なアウトラインは非常に簡単です:
- テーブルを切り捨て
- 1回あたり約75,000の「バッチ」に175万行を挿入します。
このプロセスでいつでも明示的にインデックスを再構築する必要があるかどうか疑問に思っていますか?例えば
- テーブルを切り捨て
ALTER INDEX ALL ON xxx REBUILD WITH (FILLFACTOR=90)
[または類似の何か]- 175万行挿入
多分
ALTER INDEX ALL ON xxx DISABLE
- テーブルを切り捨て
- 175万行挿入
ALTER INDEX ALL ON xxx REBUILD WITH (FILLFACTOR=90)
[または類似の何か]
どんな支援も感謝します... DBAではなく-DBをかなりよく知っている開発者はより正確です!
テーブル構造、現在存在するインデックス、挿入されるデータの外観(特定の順序ですか?クラスタ化インデックスと一致していますか?)に関する情報がさらに役立ちます。また、このプロセスが完了するまで、このテーブルは使用できないと思いますか?これは、一括インポートのオプションがあることを知っておくと便利です。
—
マイクウォルシュ
おそらく、テーブルへの挿入を切り捨て、インデックスの断片化を調べて、必要かどうかを確認する必要があります。
—
ゼーン
v:2008標準。ソースデータは、csv、excel、Oracle、その他のSQLデータベースからこのデータがロードされる前の複数のステージングテーブルです。この段階では、テーブル構造はすべて同じです:6文字のID、3文字のコード、10桁のdecimal(20,5)。主キーはID + Codeです。ロードされているデータ
—
BlueChippy
insert into
と現時点ではorder by
句はありませんが、それが役立つ場合は追加できますか?IDとコードも個別に索引付けされます。