1

1つのSP1で7つのテーブル変数を使用し、別のSP2では7つの#Tempテーブルを使用しました。両方のSP同じテーブルを使用しています。しかし、SP1はSP2に比べて実行に時間がかかります。誰でも明確な説明をすることができます。変数は(統計がそれらに適用されません)少量のデータだけを保持するように設計されてなぜtablle変数ストアドプロシージャがtempテーブルストアドプロシージャよりも実行時間がかかります

+0

表変数が示唆されていません。 SQL Serverは常に、テーブル変数には1行のみが存在すると想定しています。テーブルには多数の行がある場合、生成された実行計画が混乱します。 [** This **](http://stackoverflow.com/questions/11857789/when-should-i-use-a-table-variable-vs-temporary-table-in-sql-server)が役に立ちます。 –

答えて

0

一時テーブル、それはIOを使用すると、はるかに大きく、より速く(しかし、非常に、非常に大きなデータセットに適していない保持することができます大量の行を扱う場合、ディスク上の操作)

あなたはページングのためにこれらを使用している場合、使用(行番号を生成する)ことによって、次の行法またはグループをフェッチは、その後、行番号をフィルタリング