Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Plan d'exécution de la vue partitionnée

Cette réécriture ajoute des filtres avec des prédicats de démarrage au plan et évite d'accéder aux autres tables.

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 les résultats sont

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

Par rapport aux résultats originaux de

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