这可能是个奇怪的问题。我在谷歌上搜索了这个问题,甚至找不到我要找的术语。
我正在学习QUERY OPTIMATION in DB,现在正在计算成本。我已经了解了嵌套循环连接,它被分类为
简单嵌套循环联接(snlj)
面向页的嵌套循环联接(PONLJ)
面向块的嵌套循环联接(bonlj)
我对snlj和bonlj没意见,但我找不到任何关于ponlj的文章或教程。我唯一知道的关于庞伊的事是
对于从r读取的每个页面,获取s的所有页面,并写出匹配的元组对,其中r在r-page中,s在s-page中。成本=m+m*n
我需要更多的解释。感谢你的回答。
谢谢您。

最佳答案

这个评论有点长。
我不知道你的困惑是什么——也就是说,你的简短描述对我来说是有意义的。
嵌套循环联接的思想是代码循环遍历一个表中的行。然后,对于一个表中的每一行,它通过比较每对可能的行来查找第二个表中的匹配行。
通常,您可以通过单独循环行来理解这一点。但事实是,数据库以其他单位存储行,特别是在页面上。
ponlj遍历表中的每一页,然后遍历该页上的所有行。虽然这听起来像两个循环,但实际上它只遍历所有行一次。
同样的过程在第二张桌子上重复。

关于sql - 面向页面的嵌套循环连接-查询优化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51889813/

10-08 22:06
查看更多