Dictionary

Predicate pushdown

Predicate pushdown betekent dat een filter zo vroeg mogelijk wordt uitgevoerd, liefst bij de bron of in het opslagformaat zelf. Daardoor leest een query minder rijen en minder data.

Wat is predicate pushdown?

Predicate pushdown betekent dat een filtervoorwaarde zo vroeg mogelijk wordt uitgevoerd. In plaats van eerst alle data te lezen en daarna te filteren, probeert de query-engine de filter naar de bron, scan of opslaglaag te duwen.

Een predicate is gewoon de voorwaarde in je query, zoals order_date >= '2026-01-01' of country = 'BE'. Pushdown betekent: voer die voorwaarde daar uit waar ze het meeste data kan uitsluiten.

Het resultaat is minder gelezen data, minder netwerkverkeer en vaak een snellere query.

Hoe ziet dat eruit in SQL?

De query zelf blijft meestal eenvoudig. De optimalisatie gebeurt onder water.

SELECT order_id, order_date, amount
FROM orders
WHERE order_date >= DATE '2026-01-01'
  AND country = 'BE';

Een goede engine probeert de datum- en landfilter meteen bij het lezen van de tabel of bestanden toe te passen. Bij kolomformaten zoals Parquet kan metadata helpen om volledige blokken of bestanden over te slaan.

Wanneer helpt predicate pushdown?

  • Bij grote tabellen met selectieve filters. Als je maar vijf procent van de rijen nodig hebt, wil je niet honderd procent scannen.

  • Bij kolomgeoriënteerde opslag. Bestandsmetadata en kolomstatistieken kunnen helpen om stukken data over te slaan.

  • Bij data lakehouses. Engines bovenop Parquet, Delta Lake of Iceberg halen winst uit pruning en data skipping.

  • Bij BI-tools. Een rapportfilter dat tot bij de bron geraakt, vraagt minder werk van de rapportlaag.

Predicate pushdown versus query folding

Query folding gaat over de vertaling van Power Query-stappen naar een bronquery. Predicate pushdown gaat over het vroeg uitvoeren van filters in de query- of opslaglaag.

Een Power BI-filter kan dus eerst folden naar SQL. Daarna kan de database die SQL nog verder optimaliseren met predicate pushdown, partition pruning of data skipping. Het zijn twee schakels in dezelfde keten.

Waar moet je op letten bij predicate pushdown

  • Schrijf filters herkenbaar. Een functie rond een kolom kan pushdown moeilijker maken. Filter liever direct op de kolom waar dat kan.

  • Opslaglayout telt. Pushdown werkt beter wanneer data geordend, geclusterd of gepartitioneerd is op de kolommen waarop je filtert.

  • Niet elke filter kan geduwd worden. Complexe expressies, user-defined functions en sommige joins blijven lokaal in de engine.

  • Let op gevoelige data in policies. Sommige pushdown-optimalisaties kunnen invloed hebben op de volgorde waarin filters en securitylogica draaien. Test gevoelige views zorgvuldig.

FAQ over predicate pushdown

1. Moet ik predicate pushdown zelf aanzetten?
Meestal niet. De query-engine probeert het automatisch. Je helpt vooral door duidelijke filters en een goede opslaglayout te gebruiken.

2. Is dit hetzelfde als een index?
Nee. Een index is een datastructuur om sneller rijen te vinden. Predicate pushdown is het principe om een filter vroeger uit te voeren.

3. Werkt dit met Parquet?
Ja, engines kunnen Parquet-metadata gebruiken om kolommen, row groups of bestanden over te slaan wanneer filters dat toelaten.

Laatst Bijgewerkt: July 9, 2026 Terug naar Woordenboek
Trefwoorden
predicate pushdown sql parquet snowflake data warehouse lakehouse query folding delta lake performance