So the launch was early, and the write-up is delayed. Time has no meaningâ€¦. Truthfully, Iâ€™m sorry I didnâ€™t manage to squeeze this summary post in a bit sooner; I have the typical DBA excuse: too much to do, and too little time.
One nice thing about this topic is that it seemed to resonate with several bloggers who had either strayed away from T-SQL Tuesday or had never participated; hopefully, the bug to write will stick (and Iâ€™m pointing the finger at myself for this one as well).
Beginning at the Beginning:
Pinal Dave in his gentle teaching style covers several different questions and answers about JOIN techniques. Great way to review the basics and get conversations started with beginners.
KenJ is a bit esoteric, but a great reminder of what resources there are to learn more about SQL Server.
JOINs In The Real World:
Tracy McKibben demonstrated a very simple tuning tip based on real production experience: the Nested JOIN
Rich Brown reminds us that good query construction often involves understanding how the optimizer handles JOINs under the covers.
Andy Galbraith (Yet Another SQL Andy!) reminds us to Respect Your JOINs. Itâ€™s funny how often we assume that database queries are logically well-written when we start looking for performance problems.
Bob Pusateri points out that WHERE clauses influence JOIN behaviors. You have to look at the entire SQL statement to make sure youâ€™re getting what youâ€™re supposed to be getting.
Matt Nelson reminds us that unnecessary JOINs are bad, and sometimes you need to dig a little deeper when performance tuning.
A Little Deeper:
Rob Farley toasted my brain a little on this post about Joins without JOINs. Itâ€™s a well-written explanation of what an Ant-Semi JOIN is.
Brad Schulz finished the cooking job with a take on Semi-JOINs, among other things. Is Brad really Rob in reverse?
Muthukkumaran Kaliyamoorthy covered the internal join mechanisms, and why the optimizer chooses merge, hash, or nested loop joins.
Robert Matthew Cook has a couple of great metaphors for explaining Merge, Hash, and Nested Loop JOINs.
Wayne Sheffield pointed out some interesting syntactical ways of writing JOINs. Iâ€™m not sure if Iâ€™m comfortable with some of them, but they may be of some use in certain edge scenarios. Or, if you just want to mess with the guy who reviews your code.
Richard Douglas offers up a short-but-sweet explanation of the relationship of Key Lookups to JOINs.
The Future is a Ticking Time Bombâ€¦
Thomas Rushton points out that Denali may finally force us to clean up our code.
My Portugese is Not Up To Parâ€¦
Finally, Ricardo Leka wrote a post that I had to use Google Translate to interpret. I think I lost something in translation, because Iâ€™m not sure how the example relates to JOINâ€™s, but thought I would include it anyway. http://leka.com.br/2011/10/04/t-sql-tuesday-23-joins/
October 10, 2011
Â· stuart Â· 2 Comments
Posted in: Blogging is FUN!, SQLServerPedia Syndication, TSQL2sDay