Je dois créer une table qui va comprendre, entre autres, deux champs qui vont correspondre à une heure de départ et une heure de fin. Ces deux heures sont exprimé en quart d'heure (impossible d'indiquer des unités de temps inférieure au quart d'heure.
Ces données seront stockée dans des champs entier long, le premier quart d'heure (0) sera celui du 2000/01/01 00:00 celui de l'heure de rédaction de ce présent message (2011/02/10 14:45) sera le 16.291.
Je veux retrouver tous les enregistrements qui passent par une fenêtre de temps données qu'il commencent avant et/ou finissent après et/ou pendant...
La requête sera dans le genre :
heure_depart_enregistrement < heure_fin_fenetre et heure_fin_enregistrement > heure_depart_fenetre
La structure applicative s'assure que l'on ait toujours :
heure_fin_enregistrement > heure_depart_enregistrement
Ce type de requête va être au cœur de l'application et sera très courante. Il convient donc de l'optimiser au maximum par un index.
Quel est l'index idéal pour optimiser ce type de requête ?
J'avais pensé à :
heure_depart_enregistrement ASC, heure_fin_enregistrement ASC.
Y a-t-il mieux à faire ?
D'avance merci
Partager