Hola,
quisiera pedir ayuda para mejorar el rendimiento de las consultas select que se hacen a una tabla que contiene cerca de 13 millones de registros, básicamente no se actualiza ni se insertan nuevos registros, sólo se hacen consultas. He creado algunos indices en campos para mejorar el rendimiento y anda bastante bien, sin embargo, cuando se hace una consulta que involucra fechas, tarda demasiado. Existe un campo llamado fecha_nacimiento y una consulta de ejemplo sería traer todos las personas que tengan entre 25 y 35 años a la fecha.

La consulta sería algo como:

select * from persona where fecha_nacimiento between (current_date - interval '35 years') and (current_date - interval '25 years');

La consulta, en un primer intento, tarda cerca de 6 minutos y medio, el equipo donde se está probando es uno que tenemos para desarrollo, no es un servidor dedicado y tiene un par de discos en raid 1; 4 GB de RAM y no recuerdo que procesador pero debe ser algo como core2 o similar de X GHz, lo cual no es mucho pero creo que podría obtener un mejor rendimiento.

* Quizás la consulta no está bien planteada y pueda mejorar comparando los campos de otra forma? * El campo fecha_nacimiento está indexado (clustered) ordenado descendentemente.

Muchas gracias!


--
Rodrigo Ruiz Fuentes


-
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