在工作\伪代码方面,嵌套循环连接与内连接有什么不同?使用嵌套循环连接而不是内连接有什么意义。
答案 0 :(得分:4)
它不是“而不是” - 逻辑 INNER JOIN
可以用多种物理方式处理 - 嵌套循环,散列和合并。
当连接的一侧相对较小时,通常选择嵌套循环连接。考虑将Customers
表加入Orders
表 - 理想情况下,客户将放置大量订单,因此嵌套循环连接的工作方式(概念上),如果不平衡足够高,它是从第一个客户开始,收集他们的订单,然后移动到下一个客户,收集他们的订单等。实际上,优化器将在计划编译时做出关于哪个物理操作最有意义的决定,它确实这基于多种因素,如两个表的基数,统计数据,硬件资源等。
(我将简要说明合并连接的工作方式类似于拉链,并且散列连接的工作方式类似于一组存储桶。但是您可以在其他地方阅读这些内容以获取更多详细信息。)
Understanding Nested Loop Joins
下次,请搜索这些概念,并在实际遇到实际问题时了解编程帮助,或了解为什么在特定情况下选择了特定的连接方法。这不是图书馆。 : - )