← todos los posts
DEEP DIVE11 jun 2026·1 min de lectura

Índices parciales en Postgres que recortaron 40% del p95

La query más caliente del sistema siempre filtraba por status = 'pending' — menos del 2% de las filas. El índice completo sobre status era casi inútil: el planner prefería seq scan porque el índice indexaba 98% basura.

migrations/0042_partial_idx.sql
undefined

Un índice parcial indexa solo las filas que la query realmente busca: 50x más pequeño, siempre en caché, y el planner pasa a usarlo. El p95 del endpoint cayó 40% sin tocar una sola línea de código de aplicación.

Drizzle soporta índices parciales en el schema vía .where() en el index builder — se puede versionar junto con el resto.

← volver al blogBernardo Filipe · 11 jun 2026