Il a été porté à mon attention que la USINGconstruction (au lieu de ON) dans la FROMclause de SELECTrequête pourrait introduire des barrières d'optimisation dans certains cas.
Je veux dire ce mot clé:
SELECT * De JOIN b USING (a_id)
Juste dans des cas plus complexes.
Contexte: ce commentaire à cette question .
J'utilise beaucoup cela et je n'ai jamais rien remarqué jusqu'à présent. Je serais très intéressé par un cas de test démontrant l'effet ou des liens vers des informations supplémentaires. Mes efforts de recherche ont été vides.
La réponse parfaite serait un test à démontrer USING (a_id)avec des performances inférieures par rapport à la clause de jointure alternative ON a.a_id = b.a_id, si cela peut réellement se produire.
idcomme nom de colonne.
USINGpeu plus rapide , car il en résulte une colonne de moins dans la matrice de résultats. Vos conclusions remontent à 2005 et 2008. Je suppose que tous les problèmes ont été résolus à ce jour. Cependant , je vois une limite possible: ilUSINGpeut être nécessaire d’ appliquer des joints avec ordre , car la colonne de jointure résultante est un produit joint. De ce fait, limitant potentiellement les options de réorganisation des JOIN.