sql >> Database >  >> RDS >> PostgreSQL

WHERE en JOIN-clausules bestellen prestaties

Nee, daar is geen reden voor.

Voor de compiler zullen deze twee query's er na optimalisatie precies hetzelfde uitzien. Het zal een techniek gebruiken die "predicaat pushdown" wordt genoemd, en andere technieken zoals het wisselen van join-volgorde, om de query om te zetten in de meest efficiënte vorm. Goede indexering en up-to-date statistieken kunnen hier erg nuttig zijn.

In zeer zeldzame gevallen, waar de compiler niet correct heeft berekend, is het noodzakelijk om de volgorde van joins en predikaten te forceren. Maar dit is niet de manier om het te doen, aangezien de compiler er dwars doorheen kan kijken.

U kunt het uitvoeringsplan zien dat de compiler heeft gebruikt met EXPLAIN PLAN




  1. Fysieke replicatiemechanismen in PostgreSQL

  2. PostgreSQL:serieel versus identiteit

  3. ongedefinieerde indexfout van een php-arrya

  4. Fout 'het subrapport kon niet worden gevonden op de opgegeven locatie. Controleer of het subrapport is gepubliceerd en of de naam correct is'