Bonjour,
Je viens parler d'un problème que je ne maitrise pas du tout, en fait c'est pas vraiment un problème c'est surtout des questions, si quelqu'un pouvait me donner des idées ou des liens, vu que je n'ai rien trouvé sur le net jusqu'à présent... :
- La première chose que j'aimerais savoir, c'est à partir de quel moment on peut considérer qu'une requête est "trop lourde" à executer, c'est à dire, mes requêtes s'executent plutôt pas mal en local avec une 100aine de lignes, mais qu'est ce qui me dit qu'en serveur distant et avec 200 000 lignes voire plus...
Exemple : une requête du type :
union (pour faire une requête du type "FULL OUTER JOIN") de :
- jointure externe droite (RIGHT OUTER JOIN) d'une table avec une union de deux autres tables dont un prédicat avec requête imbriquée + une autre jointure (aie aie aie c'est pas clair)...
- jointure externe gauche (LEFT OUTER JOIN) de la même chose
Pour essayer de faire comprendre ce que je dit :
Désolé pour le peu de clarté mais je vois pas comment vous l'expliquer autrement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT ... FROM (SELECT ... FROM ... UNION SELECT ... FROM WHERE C=(SELECT C FROM ...)) T JOIN ... ON ... LEFT JOIN ... ON ... UNION SELECT ... FROM (SELECT ... FROM ... UNION SELECT ... FROM WHERE C=(SELECT C FROM ...)) T JOIN ... ON ... RIGHT JOIN ... ON ...
- deuxième question, lors d'une union, est-ce qu'il vaut mieux faire les filtre avant l'union dans chaque select, ou les faire sur le résultat de l'union si c'est possible :
ou plutôt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT ... FROM ... WHERE C=1 UNION SELECT ... FROM ... WHERE C=1
Bon déjà ces deux questions, si jamais j'ai des réponses peut être que je demanderais des petits compléments...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT ... FROM (SELECT ... FROM ... UNION SELECT ... FROM ... ) T WHERE C = 1
Merci d'avance à ceux qui auront lu au moins lol
Partager