Bonjour à tous.
Voici la requête de départ :
Elle fonctionne bien sur les BDD de petite taille, mais sur les très gros volumes il y a un temps important avant d’obtenir la réponse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT t1.anode, sum(t2.size) FROM t4, t3, t2, t1 WHERE t4.onode = t1.onode AND t3.inode = t4.inode AND t3.snode = t2.snode GROUP BY t1.anode;
On me demande de tester un découpage de la requête pour vérifier que ce n'est pas plus rapide.
Je me suis dit facile ... je fais une boucle. Puis je m'aperçois que : faire un tableau double entré avec un "if exit la valeur" pour stocker le résultat d'une requête de plusieurs lignes me pose un gros problème.
Si quelqu'un peut me donner des pistes ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT t1.anode, sum(t2.size) FROM t4, t3, t2, t1 WHERE t4.onode = t1.onode AND t3.inode = t4.inode AND t3.snode = t2.snode AND t2.snode BETWEEN Var_Min_snode AND Var_Min_snode + Var_count_Division GROUP BY t1.anode;
Partager