sql >> Databasteknik >  >> RDS >> PostgreSQL

WHERE och JOIN-klausuler beställer prestanda

Nej, det finns ingen anledning att göra det.

För kompilatorn kommer dessa två frågor att se exakt likadana ut efter optimering. Den kommer att använda en teknik som kallas "predicate pushdown", och andra tekniker som att byta sammanfogningsordning, för att omvandla frågan till den mest effektiva formen. Bra indexering och uppdaterad statistik kan vara till stor hjälp här.

I mycket sällsynta fall, där kompilatorn inte har beräknat korrekt, är det nödvändigt att tvinga fram ordningen på kopplingar och predikat. Men detta är inte sättet att göra det, eftersom kompilatorn kan se rakt igenom det.

Du kan se exekveringsplanen som kompilatorn har använt med EXPLAIN PLAN




  1. Välj från ett kommaseparerat fält

  2. Generera ett slumpmässigt LocalDate med java.time

  3. Varför kan jag inte använda dense_rank för SQL 'rank scores'?

  4. Effekt av NOLOCK-tips i SELECT-satser