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

CTE への INDEX の追加

    私は同じ要件を持っていました。 CTE にインデックスを追加することはできません。ただし、CTE では、ORDER BY を追加することを選択します。 結合されたフィールドの句により、実行時間が 20 分以上から 10 秒未満に短縮されました。

    (CTE 選択で ORDER BY を許可するには、SELECT TOP 100 PERCENT も追加する必要があります。)

    [以下のコメントからの言い換え引用を追加するために編集]:
    CTE に DISTINCT がある場合、TOP 100 PERCENT は機能しません。この詐欺師の方法はいつでも利用できます:select で TOP をまったく必要とせずに、ORDER BY ステートメントを次のように変更します:
    ORDER BY [Blah] OFFSET 0 ROWS



    1. MySQLでストリームエラーの過去の終わりを読み込もうとしました

    2. pg_dumpがrailsに見つかりません

    3. SQLクエリを再定式化する方法

    4. 私のSQL結果を複製する方法は?