Lessico IT › Database › Ottimizzatore basato sui costi

Ottimizzatore basato sui costi

Database Svenska → Aggiornato: 2026-10-01

Progetto di query planner in cui a ogni piano alternativo viene assegnato un «costo» stimato (di solito una stima di I/O + CPU) e si sceglie il piano più economico. Standard in ogni RDBMS moderno dal 1990 circa. Dipende da statistiche corrette sulla distribuzione dei dati.

Il cuore è la stima della cardinalità: quante righe restituisce WHERE x > 5? Il planner usa istogrammi, valori più comuni e conteggi di valori distinti. Se sbaglia (100 righe stimate, 100k effettive), un nested loop diventa catastroficamente lento. Parametri regolabili in Postgres: random_page_cost (predefinito 4.0, da abbassare a 1.1 per gli SSD) ed effective_cache_size. Stabilità dei piani: quando le statistiche sono sballate del 50%, il planner può scegliere un piano oggi e un altro domani, con oscillazioni di prestazioni. I database cloud (Aurora, Snowflake) fanno replanning adattivo a runtime.

← Torna al lessico