From: | Gunnar Wolf <gwolf(at)gwolf(dot)cx> |
---|---|
To: | pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx |
Subject: | [Pgsql-ayuda] Aligerar consulta |
Date: | 2004-01-09 23:56:23 |
Message-ID: | 20040109235623.GA9803@gwolf.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola,
Me aventé esta consultita, que sencillamente me da asco, y espero que
alguno de ustedes me pueda sugerir cómo mejorar:
SELECT campos FROM tabla
WHERE now()::date BETWEEN initial_date AND final_date OR
(now()::date > initial_date AND final_date IS NULL) OR
(initial_date IS NULL AND final_date < now()::date) OR
(initial_date IS NULL AND final_date IS NULL)
Tengo varias quejas ante mi query... Primero que nada, hay una
cantidad espantosa de comparaciones buscando NULLs que pueden darnos
dolores de cabeza de uno y de otro lado. Por otro lado, evalúo
now()::date en tres ocasiones, lo cual no es precisamente
eficiente. ¿Alguien tiene una sugerencia para desafearla?
Saludos,
--
Gunnar Wolf - gwolf(at)gwolf(dot)cx - (+52-55)5630-9700 ext. 1366
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
From | Date | Subject | |
---|---|---|---|
Next Message | Manuel Sugawara | 2004-01-10 00:47:43 | Re: [Pgsql-ayuda] DeadLock |
Previous Message | Edwin Quijada | 2004-01-09 23:13:57 | [Pgsql-ayuda] DeadLock |