2013/4/25 Alvaro Herrera <[email protected]>: > Rodrigo Ruiz escribió: >> El 25/04/2013 16:03, Alvaro Herrera escribió: > >> Hola Alvaro, >> el explain analyze de la consulta arrojó lo siguiente: >> >> "Index Scan using persona_fecha_nacimiento_idx on persona >> (cost=0.01..9.68 rows=1 width=835) (actual time=0.097..102908.235 >> rows=699498 loops=1)" >> " Index Cond: ((fecha_nacimiento >= (('now'::text)::date - '35 >> years'::interval)) AND (fecha_nacimiento <= (('now'::text)::date - >> '25 years'::interval)))" >> "Total runtime: 103004.026 ms" > > Es curioso que use un indexscan en este caso; probablemente debería > estar usando un seqscan, o cuando mucho un bitmap scan. ¿No tendrás > enable_seqscan=off? ¿O quizás tienes otros parámetros del optimizador > puestos en valores inusuales? >
Lo que realmente me llama la atención es que los registros estimados dice 1 que es completamente distinto a los 699498 que finalmente retorno. Inicialmente te diré que ejecutes ANALYZE sobre esa tabla, pero sospecho que el problema es más profundo que ese... claro que puedo estar equivocado -- Jaime Casanova www.2ndQuadrant.com Professional PostgreSQL: Soporte 24x7 y capacitación Phone: +593 4 5107566 Cell: +593 987171157 - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
