sql >> データベース >  >> RDS >> Sqlserver

この CTE が一時テーブルを使用するよりもずっと遅いのはなぜですか?

    クエリ プランでわかるように、CTE を使用すると、結合が必要な場合でも、エンジンは基本的にそれらをルックアップとして適用する権利を留保します。

    十分に確信が持てない場合は、事前にすべてを個別に実行して、基本的に一時テーブルを生成できます...行ごとに1回だけ実行しましょう。

    これは、魔法のように実行できる再帰クエリに最適です。

    しかし、入れ子になった入れ子になったループでは、それがひどく間違った方向に進む可能性があることがわかります.
    実際の一時テーブルを試すことで、あなたはすでに自分で答えを見つけています.



    1. ユーザーの質問を数える方法は?

    2. mysqlを接続してコマンドを実行するためのバッチファイル

    3. 並列計画の開始方法–パート2

    4. PostgreSQLのすべてのデータベースのサイズを取得する(psql)