1

一時テーブルとテーブル変数に関する多くのスレッドがあります。

ただし、私の質問は、一時テーブルが Microsoft SQL Server の通常のテーブルよりもはるかに高速になる理由は何ですか?

一時テーブルに挿入し、そこからデータを通常のテーブルに移動すると、ストアド プロシージャの実行速度が 5 倍になります。

最も明白な答えはキー/インデックスですが、通常のテーブルにはキーがまったくありません。

それをより速く実行するために他に何がありますか?

ありがとう

4

1 に答える 1

4

いくつかの可能性:

  1. TempDB の I/O が高速になる可能性があります
  2. クエリは並列であり、複数の tempdb データ ファイルを利用するように構成されている場合は、それを利用できます。
  3. ユーザー データベースが自動拡張を待機している間に、TempDB に挿入の余地がある可能性があります。
  4. 同様の理由で、ユーザーデータベースにはロギングにも制約がある可能性があります
  5. ユーザー データベースを「起動」する必要がある場合があります。たとえば、AutoClose が ON に設定されている場合などです。
于 2013-04-22T15:47:49.267 に答える