sql >> Databasteknik >  >> RDS >> Sqlserver

Att lägga till en inre fråga ändrar inte exekveringsplanen

"Frågeoptimeraren" är vad som händer. När du kör en fråga använder SQL Server en kostnadsbaserad optimerare för att identifiera vad som sannolikt är det bästa sättet att uppfylla den begäran (dvs. det är exekveringsplanen). Se det som en ruttkarta från plats A till plats B. Det kan finnas många olika sätt att ta sig från A till B, vissa kommer att vara snabbare än andra. SQL Server kommer att träna olika rutter för att uppnå slutmålet att returnera data som tillfredsställer frågan och gå med en som har en acceptabel kostnad. Observera att det inte nödvändigtvis analyserar ALLA möjliga sätt, eftersom det skulle bli onödigt dyrt.

I ditt fall har optimeraren kommit fram till att de två frågorna kan kollapsas till samma sak, därför får du samma plan.




  1. Hur visar jag de senaste frågorna som kördes på MySQL?

  2. IDENTIFIERAD MED "lösenord" i MySQL

  3. hämta den senast infogade raden från varje användare i databasen

  4. Oracle 12c Apex 4.2 ORA-24247 nätverksåtkomst nekad av åtkomstkontrolllista (ACL)