-
Il fait référence à l'ordre dans lequel l'optimiseur les évalue (join queue). L'optimiseur peut même ne pas être au courant de l'ordre des tables dans votre instruction sql.
-
Non, cela ne contredit pas ce qui a été écrit en #3, puisque la réponse écrit explicitement (c'est moi qui souligne):
Le résultat et la performance sont deux choses différentes. En fait, il y a un commentaire positif à la réponse disant que
-
Vous pouvez dire à l'optimiseur quelle table traiter en premier en utilisant straight_join :
Cependant, vous devez faire attention à cela car vous liez la main de l'optimiseur. Voir ce SO sujet sur les avantages et les inconvénients de straight_join.
Nombre d'enregistrements, où critères, index - ils jouent tous leur rôle dans la décision de l'optimiseur de l'ordre de traitement des tables. Il n'y a pas de solution miracle, vous devez jouer un peu et vous pouvez probablement tromper l'optimiseur pour changer l'ordre des tables.