嵌套循环连接(SQL)

✍ dations ◷ 2025-04-18 23:58:57 #

连接 (SQL)操作是数据库管理中重要的一环,而嵌套循环连接是通过嵌套的循环语句把多个表连接起来的简单算法,但是效率并不理想。

两个关系数据库表R和S通过如下的方法连接在一起:

  For each tuple r in R do     For each tuple s in S do        If r and s satisfy the join condition           Then output the tuple <r,s>

这种算法将会从硬盘中读取 nr*bs+ br 个页, br 和 bs 是R和S表所占用的页的个数, nr 是R表中的记录数。

这种算法的IO次数为  O ( | R | | S | ) {\displaystyle O(|R||S|)} | R | {\displaystyle |R|} | S | {\displaystyle |S|}


这种算法可以通过更改循环的嵌套方式减少硬盘的访问次数到 br*bs+ br 次。 对于R表的每一页,S的每一个记录只需要被读一次。

相关

  • 关于核武器的争论公众对于核武器的争论是与核武器的使用以及储备情况相联系起来的。尽管在第一种核武器研发之前,参与曼哈顿计划的科学家们对于如何使用核武器就已存在分歧。1945年8月6号美国
  • 辐鳍鱼总纲目分类请见本文。辐鳍鱼又名条鳍鱼,为辐鳍鱼总纲(学名:Actinopterygii)鱼类的通称,是一类鳍呈放射状的硬骨鱼。辐鳍鱼是脊椎动物中种类最多的,种数几乎占现存3万多种鱼类的99%,遍及
  • 东米德兰兹东米德兰兹(英语:East Midlands)是英格兰9个区域之一,位于中部以东一带。
  • 第五次中东战争阿拉伯-以色列战争(1948年–1949年) – 苏伊士运河危机(1956年) – 水权争夺战争(1964年-1967年) – 六日战争(1967年) – 消耗战争(1968年–1970年) – 赎罪日战争(19
  • 环太平洋火山带环太平洋火山带(英语:Ring of Fire,又称环太平洋带、环太平洋地震带或火环带)是一个围绕太平洋经常发生地震和火山爆发的地区,全长40,000千米,呈马蹄形。环太平洋火山带上有一连串
  • 重复独立发现发明列表 历史学及社会学上对于科学界“重复独立发现发明”的现象各有评论。罗伯特·金·莫顿将“重复发现”定义为各自独立开展研究的科学家得出相似的发现的情况。“有些发
  • 秦武王秦武王(前329年-前307年),《史记·秦始皇本纪》作秦悼武王,《世本》作秦武烈王,《越绝书》作秦元武王,嬴姓,《史记索隐·秦本纪》记载名荡,战国时期秦国君主。秦惠文王之子,在位4年。
  • 吴仁静吴仁静(越南语:Ngô Nhân Tịnh/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Ming","HAN NOM A","HAN NOM B","Ming-Lt-HKSCS-UNI-H","
  • 张简修张简修(1561年4月15日-1620年11月17日),字嗣哲,号剑南,湖广江陵(今湖北江陵)人,明朝官员。首辅张居正四子,明神宗万历六年(1578年)以锦衣千户为指挥佥事。万历九年(1581年)由指挥佥事进同
  • 伯尔尼条约伯尔尼条约(英语:Treaty of Bern,全称:Treaty concerning the formation of a General Postal Union)于1874年签署,它成立了邮政总联盟。邮政总联盟后来改称为万国邮政联盟。伯尔