Optimisation du Where

Optimiser le temps de traitement d'une clause 'Where' a muti-critères

WHERE [Champ1]="Martin" OR [Champ2]="Paris"

Si la table source est volumineuse, i.e plusieurs centaines de milliers d'enregistrements, et si l'ajout/modification des données n'est pas nécessaire dans le résultat de la requête, alors on aura tout intérêt à modifier une requête de type :

SELECT DISTINCT * FROM LaTable WHERE LeChamp1 = [Critère ?] OR LeChamp2 = [Critère ?];

par une requête UNION (avec effet DISTINCT induit) qui ressemblera à :

SELECT * FROM LaTable WHERE LeChamp1 = [Critère ?]
UNION
SELECT * FROM LaTable WHERE LeChamp2 = [Critère ?];


Dernière modification : 07/02/2010 23:45
Catégorie : Les mémos - Requêtes
Page lue 9076 fois