Stima della cardinalità
La previsione del planner su quante righe produrrà ogni passo. Tutto il resto del piano ne discende, il che ne fa il numero più importante dell'ottimizzatore.
Ordine dei join, metodo di join e scelta degli indici poggiano tutti sul numero stimato di righe, e un errore si propaga in modo moltiplicativo lungo l'albero dei join: un fattore dieci sbagliato alla base può diventare un fattore mille in cima, e quindi un hash join dove un nested loop avrebbe richiesto millisecondi. Le fonti d'errore più comuni sono il planner che assume indipendenti colonne in realtà correlate (CAP e città, prodotto e categoria), le espressioni che non riesce a vedere attraverso e le statistiche mai aggiornate. Le contromisure in PostgreSQL sono CREATE STATISTICS per le combinazioni di colonne e l'aumento dello statistics target sulle colonne sbilanciate.