Bonjour à tous
Si j'ai une table
"table"
qui contient 3 colonnes
a, min, max ( 3 INT non signés )
je veux chopper tous les "a" qui vérifient b>=min et b<=max pour un b quelconque.
la requete sera donc normalement
SELECT a FROM table WHERE b>=min AND b<=max;
Jusque l'a je devrais avoir bon
maintenant, la table 'table' contient beaucoup beaucoup (à priori, de l'ordre de la 10aines de million) de lignes.
Généralement, sur une entree "min" et "max" sont assez proches (quelques 10aines de différences).
Vu la construction de la table et son remplissage (que je ne vais pas détailler ici ...), il ne devrait y pas y avoir masse de lignes en sorti de cette requete. de l'ordre de 100 à tout casser.
mais les 2 requêtes
SELECT a FROM table WHERE b>=min
et
SELECT a FROM table WHERE b<=max
vont elles retourner des milliers (millions ?) d'éléments
Je me demandais comment optimiser la premiere requete ...
Est-ce que 2 index sur les colonnes min et max suffisent ?
Faut-il faire autre chose ?
---------------
PeK