Maison > base de données > tutoriel mysql > ANSI JOIN et non-ANSI JOIN dans T-SQL : quelles sont les différences de performances ?

ANSI JOIN et non-ANSI JOIN dans T-SQL : quelles sont les différences de performances ?

Susan Sarandon
Libérer: 2025-01-21 03:41:09
original
414 Les gens l'ont consulté

ANSI JOIN vs. Non-ANSI JOIN in T-SQL: What are the Performance Differences?

Différence de performances entre ANSI JOIN et non-ANSI JOIN dans T-SQL

Dans les procédures stockées T-SQL, la syntaxe non-ANSI JOIN a toujours été courante :

<code class="language-sql">SELECT A.A, B.B, C.C
FROM aaa AS A, bbb AS B, ccc AS C
WHERE
    A.B = B.ID
AND B.C = C.ID
AND C.ID = @param</code>
Copier après la connexion

Il y a des spéculations selon lesquelles le remplacement de cela par la syntaxe ANSI-92 JOIN pourrait améliorer les performances :

<code class="language-sql">SELECT A.A, B.B, C.C
FROM aaa AS A
JOIN bbb AS B
   ON A.B = B.ID
JOIN ccc AS C
   ON B.C = C.ID
   AND C.ID = @param</code>
Copier après la connexion

Sont-ils les mêmes ?

Dans cet exemple particulier, l'exécution des deux requêtes est identique. Cependant, la syntaxe ANSI-92 présente plusieurs avantages :

  • Clarté : La clause JOIN sépare la logique en relations et filtres, améliorant ainsi la lisibilité.
  • Éviter toute ambiguïté : Dans certains cas, les jointures externes non ANSI peuvent conduire à des résultats ambigus ou à des blocages. La syntaxe ANSI-92 élimine cette situation.
  • Conformité aux normes : ANSI-92 est la norme actuelle de l'industrie et a été adoptée par la plupart des développeurs et des outils de requête.
  • Éviter les produits cartésiens inattendus : La clause JOIN permet d'éviter les produits cartésiens inattendus.

Arguments avec une syntaxe non ANSI

Certains soutiennent que la syntaxe non ANSI aide à conceptualiser SQL comme un produit cartésien suivi d'un filtrage. Bien que cette technique puisse faciliter la compréhension, la syntaxe ANSI-92 préférée est recommandée car elle est généralement plus claire et conforme aux normes. La seule exception à cette règle concerne l’utilisation de jointures naturelles, qui doivent être totalement évitées en raison des risques inhérents.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal