Dictionary

Execution plan

Een execution plan toont hoe een database een query gaat uitvoeren of uitgevoerd heeft. Je ziet onder meer scans, indexgebruik, joins, sorteringen en geschatte kosten.

Wat is een execution plan?

Een execution plan is het stappenplan dat een database gebruikt om een query uit te voeren. Het toont niet alleen welke tabellen geraakt worden, maar ook hoe: via een table scan, index seek, join, sortering of aggregatie.

Dat is handig omdat SQL declaratief is. Je schrijft het gewenste resultaat, niet de route. Het execution plan laat zien welke route de query optimizer gekozen heeft.

Een compact voorbeeld:

EXPLAIN
SELECT *
FROM orders
WHERE customer_id = 42;

Met een passende database-index kan het plan een index seek tonen. Zonder index zie je vaak een table scan: de database leest de hele tabel om de rijen te vinden.

Wat zie je in een plan?

De namen verschillen per database, maar je komt vaak dezelfde bouwstenen tegen.

  • Scan. De database leest veel of alle rijen uit een tabel of index.

  • Seek. De database springt gericht naar een klein bereik in een index.

  • Join. Twee datasets worden gekoppeld, bijvoorbeeld met nested loops, hash join of merge join.

  • Sort. Data wordt gesorteerd voor ORDER BY, grouping of window functions.

  • Aggregate. Rijen worden samengevat, bijvoorbeeld met SUM, COUNT of AVG.

Geschat plan versus werkelijk plan

Een geschat plan toont wat de database verwacht te doen. Een werkelijk plan toont wat er tijdens uitvoering gebeurde, vaak met echte aantallen rijen en timing.

Het verschil tussen geschatte en werkelijke aantallen is vaak de clue. Verwacht de optimizer tien rijen maar krijgt hij er een miljoen, dan kiest hij mogelijk een plan dat er op papier goed uitzag maar in productie slecht loopt.

Wanneer bekijk je een execution plan?

  1. Een rapport wordt traag. Je wil weten of de database scant, sorteert of verkeerd joint.

  2. Een index lijkt niets te doen. Het plan toont of de index gebruikt wordt.

  3. Een query verschilt per parameter. Voor één klant is het snel, voor een andere traag.

  4. Je wil query folding controleren. Het plan kan tonen welke filters echt tot bij de database geraakt zijn.

Execution plan versus query optimizer

De query optimizer is de beslisser. Het execution plan is het resultaat van die beslissing. Je leest het plan om te begrijpen wat de optimizer gekozen heeft en waarom een query wacht.

Waar moet je op letten bij een execution plan

  • Begin bij de duurste stappen. Zoek waar veel rijen gelezen, gesorteerd of gejoined worden.

  • Kijk naar rijaantallen. Grote verschillen tussen schatting en werkelijkheid wijzen op slechte statistieken of data skew.

  • Lees context mee. Een scan is niet altijd fout. Voor kleine tabellen of brede aggregaties kan hij perfect logisch zijn.

Laatst Bijgewerkt: July 9, 2026 Terug naar Woordenboek
Trefwoorden
execution plan query optimizer sql database-index predicate pushdown query folding database performance data warehouse