0

#tempテーブルと物理的(実際の)テーブルとのパフォーマンスの差は、レコード数が同じ(5000万〜SQL tempテーブルと物理(実際の)テーブルのパフォーマンス

(Insert into ... select)クエリでは、tempテーブルの所要時間は約3分、物理テーブルの所要時間は約8分です。

ここで、物理テーブルはtempテーブルと完全に同じです(物理テーブルにはクラスタ化されていないインデックスはありません)。

なぜ、テンポラリテーブルのプリフォームは、物理テーブルより効率的かつ優れていますか?誰もそれにいくつかの文脈を持っていますか?

+1

一時的なテーブルスペースは、より効率的なディスクセットになっている可能性があります。 –

+0

実行計画を比較しましたか?正確なデータ型と長さ(char/varcharの場合)まで、テーブルは実際には100%同一ですか? – alroc

+0

データベースに設定されている回復モードを確認します。おそらく、それは 'フル'です。 Tempdbは常に「シンプル」モードです。つまり、バルク操作が最小限にログされます。これは、「フル」モードと比較して、トランザクションログの書込み負荷を軽減します。 –

答えて

0

それは、多くの要因に依存します。

  • データとログファイルの場所/設定
  • フラグメンテーション
  • 自動拡張設定
  • IO性能 など

それがある可能性が高いのtempdbがありますサーバーの再起動時に再作成されるか、(上記のように)tempdbがより効率的なディスクセット

+0

このパフォーマンスの違いを最小限に抑えることはできますか? – Venus

関連する問題