Comment les jointures interne et externe sont-elles implémentées dans SQL Server?

Je suis à la search d'une compréhension algorithmique de haut niveau pour que je puisse avoir une idée générale de ce que fait SQL-Server pour effectuer des jointures. N'hésitez pas à être concis, je ne suis pas à la search de l'extrême nitty gravely. Ce qui m'a poussé à comprendre comment les jointures sont mieux implémentées, c'est le scénario derrière cette question que je viens de postr. Je me sentais comme si elles étaient finalement deux questions distinctes, ce qui explique pourquoi je ne les ai pas combinées.

Merci!

Voici quelques lectures pour vous aider à démarrer.

  • Boucle nestede
  • Fusionner
  • Hash Join
  • Résumé des propriétés de jointure

SQL Server peut choisir parmi une variété de jointures différentes: les plus courantes sont fusion, boucle et hachage. Voir cet article de la base de connaissances

Honnêtement, si vous êtes intéressé à ce niveau de détail, je vous suggère de lire: http://www.amazon.com/Microsoft-SQL-Server-2008-Internals/dp/0735626243/ref=sr_1_1?ie=UTF8&qid=1297976127&sr= 8-1 # _

Et apprendre à lire les plans d'exécution. SQL Server a un très bon moteur d'optimization. Il ne fait pas toujours les choses comme nous, les humains, nous attendrions, ou même de la même manière, pour deux requêtes qui nous paraissent similaires.