Re: consultas por fechas

From: Daniel Hernández <daniel(at)scio(dot)cl>
To: Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: consultas por fechas
Date: 2009-08-17 16:50:00
Message-ID: 20090817165000.GA28390@maullin
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> puedes crear la fecha al momento de la consulta:
>
> select * from pagos where (agno_pago||'-'||mes_pago||'-01')::date >=
> '2007-07-01';

Pero entonces dejarás de usar posibles índices en los campos de mes año. Me
parece mejor la solución de:

SELECT * FROM pagos
WHERE (agno_pago = 2007 AND mes >= 7)
OR (agno_pago > 2007);

Lo de las fechas tiene muchas soluciones según gustos. A algunos le gusta
descomponerlas en campos integer y manipularlos por separado con un índice por
cada campo. A otros, les gusta usar campos date y si requieren valores
agrupados por mes, entonces crean un índice funcional para el mes, cosa de no
perder eficiencia en las consultas (a mi la solución de los índices
funcionales me agrada). ¿Conocen algún estudio que discuta este tema?
Generalmente las tablas que usan fecha registran hechos, por lo que suelen
crecer bastante y requieren ser indexadas astutamente. Por allí se llega al
tema de los modelos de datos para consultas como los estrella o los copos de
nieve, donde a veces usan una tabla de fechas. También se llega al asunto de
si disponer usar tablas con orientación a filas o a columnas... aunque ahí se
escapa un poco de Postgres, porque hasta donde se, no soporta orientación de
columnas.

Saludos,

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Sergio Valdes Hurtado 2009-08-17 16:51:21 Re: consultas por fechas
Previous Message Javier Chávez B. 2009-08-17 16:48:55 Re: consultas por fechas