TABLOCK
最小限のログを取得するためにクラスター化インデックスで定義された空の一時テーブルにテーブルヒントを追加する必要があるかどうかは不明です。
いいえ。ローカル一時テーブル(#temp
)は作成セッション専用なので、テーブルロックヒントは必要ありません。で作成されたグローバル一時テーブル(##temp
)または通常テーブル(dbo.temp
)にはtempdb
、複数のセッションからアクセスできるため、テーブルロックヒントが必要です。
最小限のロギング最適化が完全に適用されていない場合でも、作成されたテーブルは、情報tempdb
をログに記録する必要がないなど、他の最適化の恩恵を受けますREDO
。ドキュメント化されていないを使用して、行またはページがログに記録されているかどうかをテストできますsys.fn_dblog
。通常のロギングでは、などの行にログが記録されますLOP_INSERT_ROWS
。
SQL Server 2016 TABLOCK
でINSERT...SELECT
クエリを使用して並列実行するには、ローカルの一時テーブルに追加する必要があることに注意してください。マイクロソフトサポート技術情報の記事を参照してください。
SQL Server 2016でINSERT .. SELECT操作を実行するとパフォーマンスが低下する