SQL Server 2008 中嵌套循环连接和哈希连接的区别

Posted

技术标签:

【中文标题】SQL Server 2008 中嵌套循环连接和哈希连接的区别【英文标题】:Difference between Nested loop join and hash join in SQL Server 2008 【发布时间】:2012-04-18 16:35:39 【问题描述】:

嵌套循环连接和哈希连接之间的主要区别是什么?我对此一无所知,我所知道的是它们出现在查询的执行计划中。任何人都可以对此有所了解吗?

【问题讨论】:

What makes an SQL query optimiser decide between a nested loop and a hash join的可能重复 【参考方案1】:

这里有一些链接。我同意 usr,这个问题不是很有建设性,因为要回答它,我们只会重复其他地方所写的内容。如果您想以更具体的方式重新表述您的问题,例如向我们展示一个查询和一个计划,其中有一种类型,您可能期望另一种类型,或者想知道为什么选择特定类型,那么我认为这将是一个更合适的问题。以下链接应该会有所帮助:

http://blog.tanelpoder.com/2010/10/06/a-the-most-fundamental-difference-between-hash-and-nested-loop-joins/

http://www.madeira.co.il/loop-hash-and-merge-join-types/

http://www.simple-talk.com/sql/performance/execution-plan-basics/

query optimizer operator choice - nested loops vs hash match (or merge)

【讨论】:

这是在我刚刚参加的一次采访中被问到的。由于我不知道从哪里开始,我想在这里发布问题。感谢您的帮助。

以上是关于SQL Server 2008 中嵌套循环连接和哈希连接的区别的主要内容,如果未能解决你的问题,请参考以下文章

如何用SQL SERVER 2005连接SQL SERVER 2008

萌新求助,sql server2008数据库连接失败

SQL Server 2008 中的 While 循环遍历日期范围,然后插入

SQL Server 2008 R2 - 标量 UDF 导致无限循环

SQL Server2008R2循环语句

SQL Server:嵌套循环两个选择