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

SQL 2005 CTE と TEMP テーブル 他のテーブルの結合で使用した場合のパフォーマンス

    CTE クエリの単なるエイリアスです。

    使用されるたびに再実行される場合もあれば、再実行されない場合もあります。

    CTE を強制するクリーンな方法はありません SQL Server での実体化 (Oracle の /*+ MATERIALIZE */ のように )、そして次のような汚いトリックを行う必要があります:

    CTE 1 回の評価しか必要としないプランで使用すると、パフォーマンスが向上する可能性があります (HASH JOIN など)。 , MERGE JOIN など)

    これらのシナリオでは、ハッシュ テーブルは CTE から直接構築されます。 、一時テーブルを使用すると CTE を評価する必要があります 、結果を一時テーブルにプルし、一時テーブルをもう一度読み取ります。



    1. Oracle文字列関数(全リスト)

    2. 列のDjangoDBレベルのデフォルト値

    3. より多くのショープランの改善?はい、お願いします!

    4. Oracle-リテラルがフォーマット文字列エラーと一致しません