sql >> Databasteknik >  >> RDS >> Sqlserver

Utförandeplan för partitionerad vy

Denna omskrivning lägger till filter med startpredikat till planen och undviker åtkomst till de andra tabellerna.

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 resultaten av detta är

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

Jämfört med de ursprungliga resultaten av

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. Hur man påskyndar insättningsprestanda i PostgreSQL

  2. Hur COERCIBILITY() fungerar i MariaDB

  3. Optimera MySQL/MariaDB-prestanda med verktyget MySQLTunner

  4. SQL Server använder inte ett index som jämför datetime med inte null