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

Responder a