aarona
aarona

Reputation: 37273

What are the deciding factors for the order of Tables when joining amongst them?

I know that when joining across multiple tables, performance is dependent upon the order in which they are joined. What factors should I consider when joining tables?

Upvotes: 3

Views: 250

Answers (2)

DCNYAM
DCNYAM

Reputation: 12126

As far as I know, the join order has no effect on query performance. The query engine will parse the query and execute it in the way it believes is the most efficient. If you want, try writing the query using different join orders and look at the execution plan. They should be the same.

See this article: http://sql-4-life.blogspot.com/2009/03/order-of-inner-joins.html

Upvotes: 0

Adam Robinson
Adam Robinson

Reputation: 185643

Most modern RDBM's optimize the query based upon which tables are joined, the indexes used, table statistics, etc. They rarely, if ever, differ in their final execution plan based upon the order of the joins in the query.

SQL is designed to be declarative; you specify what you want, not (in most cases) how to get it. While there are things like index hints that can allow you to direct the optimizer to use or avoid specific indexes, by and large you can leave that work to the engine and be about the business of writing your queries.

In the end, running different versions of your queries within SQL Server Management Studio and viewing the actual execution plans is the only way to tell if order can truly make a difference.

Upvotes: 1

Related Questions