Bonjour,
J'ai la requête suivante dans une procédure stockée :
Un index existe sur les 8 colonnes utilisées dans la clause WHERE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT DISTINCT nsiret INTO Ora_nsiret FROM dpa_marche_hist_acompte WHERE (idenos = Ora_idenos OR (idenos IS NULL AND Ora_idenos IS NULL)) AND (nomht1 = Ora_nomht1 OR (nomht1 IS NULL AND Ora_nomht1 IS NULL)) AND (nomhl1 = Ora_nomhl1 OR (nomhl1 IS NULL AND Ora_nomhl1 IS NULL)) AND (nstra = Ora_nstra OR (nstra IS NULL AND Ora_nstra IS NULL)) AND (eaetex = Ora_eaetex OR (eaetex IS NULL AND Ora_eaetex IS NULL)) AND (dexemm = Ora_dexemm OR (dexemm IS NULL AND Ora_dexemm IS NULL)) AND (cnapai = Ora_cnapai OR (cnapai IS NULL AND Ora_cnapai IS NULL)) AND (ctatva = Ora_ctatva OR (ctatva IS NULL AND Ora_ctatva IS NULL));
J'ai plusieurs requêtes de ce type avec la même clause WHERE.
Il me semble que l'index n'est pas utilisé si la clause IS NULL est choisie.
Y a t il un moyen d'optimiser cela?
Merci.
Partager