数据库中表连接方式有哪些

技术数据库中表连接方式有哪些这篇文章将为大家详细讲解有关数据库中表连接方式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 1 nested loop

这篇文章将为大家详细讲解有关数据库中表连接方式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1 nested loop join

循环嵌套连接:行源一的每一条记录,依次去匹配行源2的每条记录,将符合连接条件的记录放在结果集中,直到行源一的所有记录都完成这个操作。循环嵌套连接是最基本也是最古老的表连接方式。

数据库中表连接方式有哪些

2排序合并连接

排序合并连接:行源一和行源2的数据分别排序,然后将两个排序的源表合并,符合连接条件的记录放到结果集中。由于排序需要内存空间,排序合并连接对内存有比较大的消耗,如果内存空间(8i为sort_area_size,9i及以上使用PGA)不足,则会使用临时表空间,这样会降低排序合并连接的效率。排序合并连接是最古老的表连接方式之一。

附上雄猫哥哥的解释:

你问的

汤姆,

"排序合并"和"散列"连接之间的区别是什么。他们不都做一个吗

全扫描连接表上的每一个并连接它们?

我知道排序合并用于"所有行"的情况,嵌套循环用于

第一行的提示。《加入》怎么样?什么时候用?

如果你能举几个例子解释一下,我将不胜感激。

先谢了。

我们说.

嗯,甲和乙的某种合并有点像这样:

读取A并按临时A的连接键排序

读取B并按临时B的连接键排序

从温度_a读取记录

从温度_b读取记录

当温度_a和温度_b不为电渗流时

if (temp_a.key=temp_b.key)然后输出连接记录

elsif (temp_a.key=temp_b.key)从温度_a读取记录

elsif (temp_a.key=temp_b.key)从温度_b)读取记录

结束循环

(比这更复杂的是,上面的逻辑假设连接键是唯一的——我们真的

需要将温度_a中的每一个匹配连接到温度_b中的每一个匹配,但是您得到了图片)

散列连接在概念上类似于:

在创建温度_a的连接键上创建一个散列表

而不是在B上

阅读b中的记录

散列连接键,并通过散列键查找温度_a以进行匹配

记录

输出匹配项

结束循环

因此,散列连接有时会更有效(一个散列,而不是两个排序)

在大多数情况下,排序合并可以在任何时候使用散列连接。如果你没看到

散列连接正在进行,也许您已经关闭了散列连接启用.

数据库中表连接方式有哪些

3散列连接

哈希连接:将行源一计算成一张基于连接键的混杂表,行源2的每条记录依次扫描这张混杂表,找到匹配的记录放到结果集。计算混杂表需要内存空间,散列连接同样对于内存有比较大的消耗,如果内存空间(8i为hash_area_size,9i及以上使用PGA)不足,则会使用临时表空间,这样会降低哈希连接的效率。

数据库中表连接方式有哪些

关于"数据库中表连接方式有哪些"这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/106999.html

(0)

相关推荐

  • 如何进行HashMap扩容机制源码分析

    技术如何进行HashMap扩容机制源码分析这期内容当中小编将会给大家带来有关如何进行HashMap扩容机制源码分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体看源码之前,我们先简

    攻略 2021年12月8日
  • C语言是怎样输出唯一的子串

    技术C语言是怎样输出唯一的子串C语言是怎样输出唯一的子串,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 题目描述给一个字符串,求长度为m的所有不重复的子

    攻略 2021年12月8日
  • jupyterNotebook提升使用体验的几个隐藏功能分别是什么

    技术jupyterNotebook提升使用体验的几个隐藏功能分别是什么本篇文章为大家展示了jupyterNotebook提升使用体验的几个隐藏功能分别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详

    攻略 2021年12月4日
  • oracle rac环境安装目录权限被修改乱了怎么办

    技术oracle rac环境安装目录权限被修改乱了怎么办这篇文章将为大家详细讲解有关oracle rac环境安装目录权限被修改乱了怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在

    攻略 2021年12月4日
  • web前端面试中的常见的算法问题有哪些

    技术web前端面试中的常见的算法问题有哪些这篇文章主要介绍“web前端面试中的常见的算法问题有哪些”,在日常操作中,相信很多人在web前端面试中的常见的算法问题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操

    攻略 2021年11月15日
  • sqlite和mysql的区别有哪些

    技术sqlite和mysql的区别有哪些这篇文章主要为大家展示了“sqlite和mysql的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“sqlite和mysql的

    攻略 2021年12月2日