Jaime Casanova escribió: > 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.
Ah! No lo había visto. Quizás por eso usa un indexscan ... > Inicialmente te diré que ejecutes ANALYZE sobre esa tabla, +1 -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services - Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
