Sql server 2008 嵌套循环联接与内部联接有何不同?
嵌套循环联接与内部联接在工作\伪代码方面有何不同,以及有哪些要点建议使用嵌套循环联接而不是内部联接。它不是“代替”-逻辑Sql server 2008 嵌套循环联接与内部联接有何不同?,sql-server-2008,Sql Server 2008,嵌套循环联接与内部联接在工作\伪代码方面有何不同,以及有哪些要点建议使用嵌套循环联接而不是内部联接。它不是“代替”-逻辑内部联接可以通过多种物理方式处理-嵌套循环、哈希和合并 嵌套循环联接通常在联接的一侧相对较小时选择。考虑将客户表连接到订单表-理想情况下,客户会下大量订单,因此嵌套循环连接的工作方式(概念上)是,如果不平衡程度足够高,从第一个客户开始,收集他们的订单,然后移动到下一个客户,收集他们的订单等。实际上,优化器将在计划编译时决定哪些物理操作最有意义,并基于各种因素进行决策,如两个表的
内部联接可以通过多种物理方式处理-嵌套循环、哈希和合并
嵌套循环联接通常在联接的一侧相对较小时选择。考虑将客户
表连接到订单
表-理想情况下,客户会下大量订单,因此嵌套循环连接的工作方式(概念上)是,如果不平衡程度足够高,从第一个客户开始,收集他们的订单,然后移动到下一个客户,收集他们的订单等。实际上,优化器将在计划编译时决定哪些物理操作最有意义,并基于各种因素进行决策,如两个表的基数、统计数据、硬件资源等
(我将简要说明,合并连接的工作原理类似于拉链,散列连接的工作原理类似于一组桶。但您可以在其他地方阅读这些内容以了解更多详细信息。)
下次,请搜索这些概念,当您在实现它们或理解在特定情况下选择特定联接方法的原因时,来寻求编程帮助。这不是图书馆。:-) 很抱歉,我们无法完成您的作业。内部联接是逻辑运算符,嵌套循环是物理运算符,因此内部联接在执行时可能会使用嵌套循环联接,具体取决于输入。“嵌套循环运算符执行内部联接、左外部联接、左半联接和左反半联接逻辑运算。”从“逻辑内部联接可以以多种物理方式处理”这句话中,我消除了疑虑!感谢您对未来的详细回答和建议!