sql >> Databáze >  >> RDS >> Sqlserver

Vyberte, kde pořadí hodnocení klauzule

Neexistují žádné záruky na pořadí hodnocení. Optimalizátor se pokusí najít nejúčinnější způsob provedení dotazu pomocí dostupných informací.

Ve vašem případě, protože c je indexováno a d ne, měl by se optimalizátor podívat do indexu, aby našel všechny řádky, které odpovídají predikátu na c, a poté tyto řádky načíst z dat tabulky a vyhodnotit predikát na d.

Pokud však zjistí, že index na c není příliš selektivní (ačkoli ne ve vašem příkladu, sloupec pohlaví je zřídkakdy užitečně indexován), může se přesto rozhodnout provést skenování tabulky.

Chcete-li určit pořadí provádění, měli byste získat plán vysvětlení pro váš dotaz. Uvědomte si však, že tento plán se může změnit v závislosti na tom, co optimalizátor považuje za nejlepší dotaz právě teď.



  1. Jak ručně aktualizovat statistická data tabulek v PostgreSQL

  2. Vložka PHP MySQL nefunguje

  3. Jak PLAY_SOUND v Oracle Forms

  4. Třísloupcové SQL PIVOT