De join
gebeurt vóór de where
, echter...
De where
clausule is een filter voor alle rijen die worden geretourneerd door de join, maar de optimizer zal herkennen dat als er een index bestaat op A.id
, het wordt gebruikt om rijen op te halen uit A
die match, dan zal de join plaatsvinden, dan zal in theorie de where-clausule de resultaten filteren, maar nogmaals, de optimizer zal herkennen dat aan de voorwaarde al is voldaan, dus zal deze deze als een filter overslaan.
Dat gezegd hebbende, zal de optimizer altijd hetzelfde resultaat retourneren als zou worden geretourneerd zonder de optimizer.