Lexique informatique › Bases de données › Optimiseur basé sur les coûts

Optimiseur basé sur les coûts Cost-based optimizer

Bases de données Svenska → Mis à jour: 2026-09-21

Une conception de planificateur de requêtes où chaque plan possible reçoit un « coût » estimé (en général une estimation d'E/S + CPU) et où le moins cher l'emporte. Standard dans tous les SGBDR modernes depuis 1990 environ. Dépend de statistiques exactes sur la distribution des données.

L'estimation de cardinalité en est le cœur : combien de lignes renvoie WHERE x > 5 ? Le planificateur utilise des histogrammes, les valeurs les plus fréquentes et le nombre de valeurs distinctes. Quand elle se trompe — 100 lignes estimées, 100 000 réelles — la boucle imbriquée devient catastrophiquement lente. Réglages Postgres : random_page_cost (4,0 par défaut, à ramener à 1,1 sur SSD) et effective_cache_size. Stabilité des plans : quand les statistiques sont fausses de 50 %, le planificateur peut choisir un plan aujourd'hui et un autre demain — d'où des performances en dents de scie. Les bases cloud (Aurora, Snowflake) replanifient de façon adaptative à l'exécution.

← Retour au lexique