Bonjour,
J'ai actuellement une requète de ce type:
Chaque table comprend environ 40 000 lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select count(*) from fonction(x) as fonc INNER JOIN (gros select avec plusieurs sous select et jointure) as grossetable ON fonc.id=grossetable.id AND fonc.chaine=grossetable.chaine
Cette requète dure trés longtemps (environ 5 minutes)
Si je concatene la jointure pour avoir une seule condition de jointure de cette manière:
LE résultat est immédiat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select count(*) from fonction(x) as fonc INNER JOIN (gros select avec plusieurs sous select et jointure) as grossetable ON ltrim(rtrim(str(fonc.id)+fonc.chaine=ltrim(rtrim(str(grossetable.id)+grossetable.chaine
Je ne peux pas vous donné les plan de requète car je ne sais pas faire...
Mais j'aurais voulu juste savoir s'il pourrait y avoir une explication logique et si je dois faire cela sur toute mes doubles jointure pour gagner en performance ?
Par avance merci pour vos lumière
Sylo
Partager