Bonjour,
J'ai lancé une discussion (ici), qui traite de la meilleure manière d'obtenir une liste ordonné par une clé commune provenant de plusieurs tables. Ces tables ont été séparées car un le type d'un champ différerait énormément suivant les type d'enregisterment (je recommande vivement de relire le sujet pour comprendre). Cependant, certaines sections du site sélectionne uniquement un type d'objet trié toujours selon la même clé commune ; j'ai donc pensé que il sera plus "facile" pour SQL de traiter les tables séparément car :
Dans le big tuto que j'ai lu sur le SELECT de SQL ici, ils parlent entre autre des schéma SQL pour les requête, et disent que la clause WHERE est une clause qui est effectué après la construction du plan, et donc que tous les éléments sont d'abord sélectionné, puis ensuite trié, donc au niveau performance, le temps de la requête sera le même avec ou sans le where je me trompe ? Du coup rassembler les tables ralongerait le temps de la requête non ?
Date : 27 Dec 2002 10:17:10 +0100
De : Frédéric BROUARD
La clause WHERE est un filtre d'élimination. Il suppose que les différentes tables sont déjà jointes en une seule et parcoure l'ensemble des résultats à la recherche des lignes correspondant aux critères donnés.
En revanche la clause JOIN se comporte différemment. Elle agit AVANT
que la jointure soit effective.
[...]
Partager