web-dev-qa-db-ja.com

空のテーブル:テーブルに挿入(WITHTAB)

空のクラスター化インデックステーブルがあります。テーブルには約20列、5,000万行、約(40GB)があります。

このような空のテーブルにInsert With(TABLOCK)を適用することはベストプラクティスですか?テーブルはデータウェアハウステーブルであり、ETL時間中に実行されます。同時ユーザーはなく、単純復旧モードです。興味があれば、100以上のストアドプロシージャを更新できます。

2
user172734

データベース関連の多くのものと同様に、このオプションはいくつかの問題を解決しますが、他の問題を引き起こす可能性があります。

TABLOCKを使用すると、ロックのエスカレーションを回避できます。 TABLOCKXを使用すると、ロック変換を回避することもできます。欠点は、そのテーブルに対する他のアクティビティがこのロックが解放されるのを待たなければならないことです。あなたは並行活動がないと言うので、それは実際の生活の中で実際の問題ではないはずです。ロックの取得は非常に安価で高速なので、それが問題になることはないと思います。

だから私の答えは-あなたが解決しようとしている問題は何ですか? 100以上のストアドプロシージャを変更する作業は、改善点によって見返りが得られますか?

0
Michael Green