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>
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>
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 :
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!