Máte mylnou představu, že optimalizátor přepisuje příkaz SQL. Není tomu tak. Přepsání dotazu je úkolem přepisovače dotazů , který například nahrazuje pohledy jejich definicí. Optimalizátor přichází s posloupností kroků provádění pro výpočet výsledku. Vytváří plán , nikoli příkaz SQL.
Optimalizátor plánuje dvě alternativy:buď provést podplán 1 pro každý nalezený řádek, nebo provést podplán 2 jednou (všimněte si, že je nezávislý na a
), vytvořte z výsledku hašovací tabulku a prozkoumejte hash pro každý řádek nalezený v a
.
V době provádění se PostgreSQL rozhodne použít druhou strategii, proto se podplán 1 nikdy nespustí.