January 16, 2013 at 7:17 am
Hi All
I am trying to clear up my understanding about joins
Consider the following query
select Table1.Col1 from Table1
inner join Table2
on Table1.Col1 = Table2.Col1
where Table1.Col1 < '3000'
Is this the rough order of things:
>> where predicate is applied to Table1.Col1
>> where predicate is applied to Table2.Col1
>> results of each is cross referenced, outputting matches
I am almost certain that this is what's happening here, am I correct?
Thanks
January 16, 2013 at 7:36 am
Take a look at the Execution Plan... That's what's happening..
Pedro
January 16, 2013 at 7:38 am
PiMané (1/16/2013)
Take a look at the Execution Plan... That's what's happening..Pedro
I have had a look at the execution plan and it seems that as I described is what is happening.
Where I am a bit stuck is what happens when SQL decides to use a Nested Loop Join
January 16, 2013 at 7:39 am
PiMané (1/16/2013)
Take a look at the Execution Plan... That's what's happening..Pedro
like this one:
But as Pedro intimated....it depends...look at the plan...
MM
select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);
January 16, 2013 at 8:08 am
SQLSACT (1/16/2013)
PiMané (1/16/2013)
Take a look at the Execution Plan... That's what's happening..Pedro
I have had a look at the execution plan and it seems that as I described is what is happening.
Where I am a bit stuck is what happens when SQL decides to use a Nested Loop Join
Take a look at this: http://www.sqlserverblogforum.com/2011/10/merge-join-vs-hash-join-vs-nested-loop-join/
Pedro
January 16, 2013 at 8:14 am
Thanks
Will give it a read
Viewing 6 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply