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

分割ビューの実行計画

    この書き直しにより、起動述語を含むフィルターがプランに追加され、他のテーブルへのアクセスが回避されます。

    SELECT *
    FROM   TA
           OUTER APPLY (SELECT *
                        FROM   dbo.V
                        WHERE  TA.c = v.c
                               AND ta.id = v.id) CA
    WHERE  TA.c = 2 
      

    STATISTICS IO この結果は

    Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0
    Table 'T2'. Scan count 0, logical reads 2, physical reads 0
    Table 'TA'. Scan count 0, logical reads 2, physical reads 0
      

    の元の結果と比較
    Table 'T6'. Scan count 0, logical reads 2, physical reads 0
    Table 'T5'. Scan count 0, logical reads 2, physical reads 0
    Table 'T4'. Scan count 0, logical reads 2, physical reads 0
    Table 'T3'. Scan count 0, logical reads 2, physical reads 0
    Table 'T2'. Scan count 0, logical reads 2, physical reads 0
    Table 'T1'. Scan count 0, logical reads 2, physical reads 0
    Table 'TA'. Scan count 0, logical reads 2, physical reads 0
      


    1. 「SQLServerがコンポーネント「アドホック分散クエリ」のステートメント「OpenRowset/OpenDatasource」へのアクセスをブロックした」を修正

    2. 私のサイトのバッジを作成します。ユーザーバッジを保存する最良の方法はありますか? PHPの使用

    3. ステートメントREForacleを選択します

    4. NOW()-1日からレコードを選択