嵌套循环连接(SQL)

✍ dations ◷ 2025-11-15 22:09:22 #

连接 (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的每一个记录只需要被读一次。

相关

  • RTA 2近端肾小管酸中毒(Proximal renal tubular acidosis、pRTA、或"2型肾小管酸中毒(RTA 2)")是一种RTA的类型,由于近曲小管细胞从尿中再吸收"滤过的碳酸氢盐之失败所引起的,从而导
  • 糠酸氟替卡松糠酸氟替卡松(Fluticasone furoate、氟替卡松糠酸酯、氟替卡松莫米松、合成的三氟化皮质类固醇)为源自氟替卡松的一种人工合成皮质类固醇,为治疗过敏性鼻炎用。美国葛兰素史
  • 报酬报酬(英语术语:remuneration,英语俗称:employment compensation),(工资和实物工资的合成),泛指雇员作出有偿劳动而获得的回报,包括工资及其他项目(例如津贴、保险、退休金),以及非现金的
  • 面糊面糊(英语:Batter),一种烹调常用的半固混合物,通常用面粉与水,或者是鸡蛋、牛奶等液体混合而成。也可以加入诸如泡打粉之类的膨松剂,或者是用碳酸水混合面粉,以在烹调后产生更为蓬松
  • 车站车站是指建立在有公共交通班次行走的路线上,供人们集中等候交通班次,并且给予公共交通工具上下客的地方。车站可以是一整座建筑,也可以只是一个路牌标示。简单的车站如公共汽车
  • 隼属(学名:Falco)在生物分类学上是隼形目隼科中的一个属,属于小型猛禽,食肉,广泛分布在世界除南极洲以外的所有大陆。近30种,为白昼出的猛禽,主要特征是翅长而尖,飞行迅速有力。隼一
  • 姚官庄姚官庄遗址,为中国新石器时代著名遗址之一,位于山东省潍坊市西南方的姚官庄村,为山东龙山文化遗址。1960年山东省文物局配合水库工程进行发掘,揭露面积1700余平方米,文化遗存主要
  • 福田敬子福田敬子(日语:福田 敬子,1913年4月12日-2013年2月9日)日本女子柔道家,拥有10段头衔。福田敬子年出生于东京武术世家,21岁起追随日本柔道创始者嘉纳治五郎学习柔道。1966年为推广柔
  • 林忠四郎林忠四郎(日语:林 忠四郎/はやし ちゅうしろう ,1920年7月25日-2010年2月28日),日本天文学家。赫罗图上的林轨迹以其名字命名。林忠四郎于1942年获得东京大学物理学士学位。之后在
  • 埃弗里兄弟埃弗里兄弟(英语:The Everly Brothers)是美国受乡村音乐影响的摇滚(rock and roll)组合,以民谣吉他和密集和声(英语:Close_and_open_harmony)闻名。这一对歌手为唐纳德·“唐”·埃弗