SQL Server inner join

Comment choisir la table principale lors de la jointure de plusieurs tables à l'aide d'une jointure interne?

A) dois-je choisir la table principale en fonction de son nombre de colonnes/lignes (Par exemple grande que la table principale ou pour garder la plus grande table comme table de jointure)?

B) Si je choisis la table contenant la colonne que j'utilise dans la condition where, comme la table principale , il y aura tout avantage en termes de performance ?

Par exemple permet de dire il y a 2 tables. Table1 & Table2 . Il n'y aura aucune différence de performances entre les deux solutions étant donné ci-dessous

Solution 1 :

select t1.empid , t1.name , t1.dept , t2.add , t2.city , t2.country
from Table1 t1
inner join Table2 t2 on t2.empid = t1.empid
where t1.year = 2010

Solution 2 :

select t1.empid , t1.name , t1.dept , t2.add , t2.city , t2.country
from Table2 t2
inner join Table1 t1 on t1.empid = t2.empid 
where t1.year = 2010
Vous pouvez vérifier les plans d'exécution, mais je serais très surpris s'il y avait une differnce.
Je ne pense pas que cela fera une différence.
Grâce HLGEM & Nilesh pour vos commentaires. Si je choisis une grande table comme table principale , il n'y aura aucune différence? Est-il un pouce de base de la règle de jointure interne pour le rendre efficace ?

OriginalL'auteur kalyanasundaram v | 2013-10-07