ACID-transacties
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerDe query optimizer is het onderdeel van een database dat beslist hoe een SQL-query uitgevoerd wordt. Hij kiest bijvoorbeeld join-volgorde, scans, indexen en sorteerstrategieën.
De query optimizer is het onderdeel van een database dat beslist hoe een SQL-query uitgevoerd wordt. Jij schrijft wat je wil zien. De optimizer kiest de route ernaartoe.
Neem een query die orders, klanten en producten samenbrengt. De database kan eerst klanten filteren, eerst orders lezen, een index gebruiken, een tabel scannen, of een andere join-volgorde kiezen. Al die routes geven hetzelfde resultaat, maar niet dezelfde wachttijd.
De optimizer zoekt dus naar een uitvoeringsplan dat naar verwachting goedkoop is in leestijd, CPU, geheugen en tijdelijke opslag.
De optimizer kijkt naar de query, het schema, beschikbare indexen, constraints en statistieken over de data. Die statistieken vertellen bijvoorbeeld hoeveel rijen een tabel heeft en hoe selectief een kolom is.
Een filter op land = 'BE' helpt weinig als bijna alle klanten Belgisch zijn. Een filter op een uniek klantnummer helpt veel. Dat verschil bepaalt of een database-index nuttig is.
Het resultaat van optimalisatie is een execution plan. Dat plan beschrijft welke stappen de database uitvoert: scans, seeks, joins, sorteringen en aggregaties.
Je kan het vaak zelf opvragen:
EXPLAIN
SELECT customer_id, SUM(amount)
FROM orders
WHERE order_date >= DATE '2026-01-01'
GROUP BY customer_id;De syntax verschilt per database, maar het idee is hetzelfde: je kijkt niet alleen naar de SQL, je kijkt naar wat de engine ermee doet.
De optimizer schat. Als statistieken verouderd zijn, data scheef verdeeld is of parameters sterk verschillen per run, kan die schatting verkeerd uitvallen. Een plan dat perfect is voor één klant kan traag zijn voor een klant met miljoenen orders.
Daarom helpt performancewerk vaak met drie dingen: statistieken verversen, de juiste index toevoegen of de query herschrijven zodat de optimizer duidelijker ziet wat je bedoelt.
Query folding gebeurt in tools zoals Power Query: stappen worden terugvertaald naar SQL of een andere brontaal. De query optimizer zit daarna in de database en kiest hoe die query uitgevoerd wordt.
Folding bepaalt dus waar de vraag belandt. De optimizer bepaalt hoe de database die vraag oplost.
Lees het plan, niet alleen de query. Twee nette SQL-query's kunnen totaal anders draaien.
Hou statistieken gezond. Verouderde statistieken geven slechte schattingen.
Indexen zijn input voor de optimizer. Een index die niet past bij de query wordt gewoon genegeerd.
Hints zijn laatste redmiddel. Een vaste hint kan vandaag helpen en morgen in de weg zitten.
ACID-transacties zijn de vier garanties (Atomicity, Consistency, Isolation, Durability) die zorgen dat je data correct blijft, ook als een p...
Lees meerApache Spark is een open-source engine voor grootschalige data-analyse op een cluster. Je schrijft SQL of DataFrames in Python, Scala of Jav...
Lees meerEen API of Application Programming Interface is de afgesproken manier waarop software met andere software praat. Je stuurt een verzoek in ee...
Lees meerBatchverwerking verwerkt data in blokken op vaste momenten, bijvoorbeeld elk uur of elke nacht. Het is minder direct dan streaming, maar vaa...
Lees meerEen bridge table of brugtabel is een tussentabel die een veel-op-veel-relatie in een ster-schema oplost, iets wat een gewone vreemde sleutel...
Lees meer
Zeven nieuwe Data Panda-connectors uit juni 2026, met concrete toepassingen voor rapportering, voorraad, finance, ticketing, planning en ope...
Nieuw in Microsoft Fabric? Zo verschillen een lakehouse en een warehouse, in mensentaal: wat ze doen, wanneer je wat kiest en wanneer je bei...