Speeding up SQL queries by orders of magnitude using UNION – Foxhound Systems

Artikeln behandlar problem med SQL-frågeprestanda, särskilt i "diamantformade scheman" där tabeller kan kopplas på flera sätt, vilket hindrar frågeoptimeraren från att skapa effektiva exekveringsplaner. Trots korrekt schemadesign med lämpliga datatyper och indexering kan intuitivt skrivna SQL-frågor leda till oväntat dålig prestanda. Ett detaljerat exempel presenteras med ett butiksschema för att generera en rapport över måltidsobjekt som lämnat lagret, inklusive både kundköp och personalförmåner. En initial fråga för endast personalförmåner presterar snabbt, men en utökad fråga som kombinerar både kund- och personaldata via komplexa LEFT JOINs och ett OR-villkor i den sista kopplingen visar sig vara problematisk och ineffektiv.