Er mag geen verschil zijn. De optimizer moet in beide gevallen hetzelfde plan genereren en moet in beide gevallen het predikaat voor, na of tijdens de join kunnen toepassen op basis van wat de meest efficiënte benadering is voor die specifieke query.
Natuurlijk, het feit dat de optimizer kan iets doen, is in het algemeen geen garantie dat de optimizer zal daadwerkelijk iets doen in een bepaalde query. Naarmate query's ingewikkelder worden, wordt het onmogelijk om elk mogelijk queryplan uitputtend te overwegen, wat betekent dat zelfs met perfecte informatie en perfecte code, de optimizer misschien geen tijd heeft om alles te doen wat je zou willen doen. U moet de daadwerkelijke plannen bekijken die voor de twee zoekopdrachten zijn gegenereerd om te zien of ze daadwerkelijk identiek zijn.