Skip to content
Tech

Why does my query drop from 3ms to 4 seconds on Tuesday with no deploy?

78

Opportunité

PostgreSQL's query planner re-evaluates execution plans whenever table statistics change, which happens asynchronously through autovacuum and ANALYZE, independent of any code deployment. A batch import, a routine vacuum after deletion, or a gradual shift in data distribution can flip an index scan to a sequential scan overnight, turning a 3ms query into a 4-second one with no error emitted and no deployment in the history. These regressions are invisible in CI because they are driven by statistics state, not code state, and no standard test harness captures plans across different statistics snapshots. Pganalyze and similar tools detect plan flips after they occur in production, but there is no upstream gate that tests query plan stability before a schema change or data migration ships. PostgreSQL proposed the pg_plan_advice contrib module in October 2025 to let operators hint or pin plan

Pourquoi c'est important

Silent query plan regressions are one of the most common causes of unexplained production latency spikes and they remain undetectable until a user reports slowness.

Comment j'évalue l'opportunité

Le Score d'Opportunité est mon évaluation personnelle, pas une mesure : l'intensité de la douleur, sa fréquence et le peu de solutions qui existent aujourd'hui. Plus il est élevé, plus je pense que le problème vaut la peine d'être résolu.

Gravité7/10

L'intensité de la douleur qu'il provoque lorsqu'il se manifeste.

Fréquence8/10

La fréquence à laquelle les gens y sont réellement confrontés.

Espace libre7/10

Le peu de bons outils qui existent pour y remédier aujourd'hui.

D'autres problèmes qui méritent d'être résolus