Bonsoir.
Au boulot, nous avons un souci avec une requête.
Nous stockons dans plusieurs tables une série d'évènements dont certains sont datés.
Certains d'entre eux n'ont pas de date de fin définie. Le champ vaut donc null.
Nos critères ressemblent donc à ça :
Les clients utilisent des bases Oracle 8, 9 ou 10, c'est variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 WHERE date_debut <= SYSDATE() AND (date_fin IS NULL OR date_fin >= SYSDATE())
Avec cette requête, on peut avoir des temps de traitement dépassant les 3 minutes.
Maintenant, si on alimente tous les champs date_fin qui valent NULL avec la date du 31/12/9999 (solution trouvée par notre responsable technique) et qu'on transforme la requête en
La requête est quasi immédiate.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 WHERE date_debut <= SYSDATE() AND date_fin >= SYSDATE()
Est-ce la bonne solution ?
Si non, que faudrait-il faire ?
Merci de votre aide.
Partager