Bonjour
Je cherche à savoir ce qui est le plus rapide sous Oracle 9 :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 select nom,prenom,sum(poids) as score from ( select nom,prenom,10 as poids from Ecv where nom = 'A' union all select nom,prenom,10 as poids from Ecv where nom LIKE 'A%' union all select nom,prenom,10 as poids from Ecv where nom LIKE '%A%' union all select nom,prenom,10 as poids from Ecv where prenom = 'A' union all select nom,prenom,10 as poids from Ecv where prenom LIKE 'A%' union all select nom,prenom,10 as poids from Ecv where prennom LIKE '%A%' ) group by nom,prenom
Je sais bien que les resultat de calculs sont différents mais je les pondère dans ma requète normale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 select nom,prenom,sum(poids) as score from ( select nom,prenom,CASE WHEN nom = 'A' then 10 WHEN nom LIKE 'A%' then 10 WHEN nom LIKE '%A%' then 10 END as poids from Ecv union all select nom,prenom,CASE WHEN prenom = 'A' then 10 WHEN prenom LIKE 'A%' then 10 WHEN prenom LIKE '%A%' then 10 END as poids from Ecv ) group by nom,prenom
Je n'arrive pas à voir de différence de temps d'execution au niveau de mon serveur bien que le plan d'execution semble privilegier le case when.
Partager