Optimisation d'une requête basée sur 1 seule table, 1 seule colonne

lundi 16 mars 2015

Bonjour,

je cherche à écrire une requête qui ne tape que sur une seule table et une seule colonne ...

Ma table DEVICE contient environ 50 000 lignes, présente une colonne "sn" de type character varying(255) et est indexée.

Je dois rechercher les lignes de cette table qui commencent par telle, ou telle, ou telle, ou telle, ... valeur. Cette liste de valeurs possibles peut être grande (2000, 3000 valeurs).

La requête ressemblerait à ceci :


SELECT DEVICE WHERE sn like '0021%' or sn like '12B0%' or sn like '0000%' or sn like '26FF%' or sn like '65FA%' ...


Les valeurs recherchées n'ont pas de logique particulière, cela correspond à des numéros de séries.

En pratique il y a environ 8-10 lignes qui sont retournées pour chaque clause (ex : il y a 10 lignes en base qui commencent par '0021')


Voyez vous une manière d'optimiser une telle requête ? (via une jointure, autre ?)


Merci par avance pour votre aide.


Christophe





0 commentaires:

Enregistrer un commentaire

 

Lorem

Ipsum

Dolor