今天我在SQL Server中了解了一个叫做INNER LOOP JOIN
的东西。
这是什么意思?(谷歌没有帮助……或者我应该说……关于它的博客文章有点……技术性,让我大吃一惊)。
此外,在标准INNER JOIN
上使用INNER LOOP JOIN
的一些常见场景是个好主意?
LOOP | HASH | MERGE是联接提示,指定查询中的联接应使用循环、哈希或合并。使用LOOP|HASH|MERGEJOIN强制两个表之间的特定联接。LOOP不能与RIGHT或FULL一起指定为联接类型。
您应该始终使用INNER JOIN。让查询优化器决定是要执行LOOP、MERGE还是HASH联接。在几乎所有情况下,优化器都会做出更好的判断。将使用哪一个以及何时可以从我的演示中找到http://sqlbits.com/Sessions/Event4/Understanding_Graphical_Execution_Plans.
(编辑:该页面上的视频演示链接已断开,但Archive.org已将其存档在此处)
您所指的是一个联接提示。和其他提示一样,联接提示只能作为最后手段指定,因为大多数时候SQL server都会选择正确的算法。一篇很好的文章可以解释其中的一些。