19 lines
993 B
SQL
19 lines
993 B
SQL
-- Optimizacion reversible para query_02: catalogo general paginado.
|
|
-- El ORDER BY real es:
|
|
-- fecha_vencimiento DESC NULLS LAST, producto ASC NULLS LAST
|
|
--
|
|
-- No se crea un indice compuesto con producto porque existen valores de
|
|
-- producto extremadamente largos y PostgreSQL puede exceder el limite de tupla
|
|
-- de btree. Este indice estrecho permite leer primero las fechas mas recientes
|
|
-- y aplicar el orden secundario sobre un conjunto mucho menor.
|
|
|
|
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_query02_catalog_vencimiento_desc_nullslast
|
|
ON invima_api_catalog (fecha_vencimiento DESC NULLS LAST);
|
|
|
|
ALTER TABLE invima_api_catalog ALTER COLUMN fecha_vencimiento SET STATISTICS 1000;
|
|
ALTER TABLE invima_api_catalog ALTER COLUMN producto SET STATISTICS 1000;
|
|
|
|
-- ANALYZE se omite en esta base local porque la tabla contiene bytes con
|
|
-- codificacion invalida que hacen fallar el escaneo estadistico completo.
|
|
-- Si los datos se normalizan, ejecutar manualmente: ANALYZE invima_api_catalog;
|