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

Responder a