Oracle学习之:表连接三种方式
来源:互联网 发布:查看ip端口是否打开 编辑:程序博客网 时间:2024/06/05 09:17
表连接的方式有三种分别是:排序合并连接(Sort Merge Join)、嵌套循环连接(Nested Loops Join)、哈希连接(Hash Join)。
1、 排序合并连接(Sort Merge Join)
排序合并连接的执行过程如下所示:
* 将每个行源的行按连接谓词列排序
* 然后合并两个已排序的行源,并返回生成的行源
例如:
select * from employees d,departments t where d.department_id=t.department_id;
访问机制如下:访问departments表并排序department_id列,访问employees表并排序department_id列,然后依次交替比较、归并。
注意:排序合并连接一般用在两张表中没有索引,并且连接列已经排好序的情况下。
2、嵌套循环连接(Nested Loops Join)
* 两个表中的一个被定义为“外部表”(或“驱动表”)
* 另一个表被称为“内部表”
* 将针对外部表中的每一行检索内部表中所有匹配的行
注意:join的顺序很重要,一般选择小表作为“驱动表”,大表作为“内部表”。如两个表,一个100行,一个10000行,理想的连接方式是:100行的小表作为“驱动表”,10000行的大表作为“内部表”,用小表中的每条记录去匹配大表中的记录。如果两张表的连接词在大表中是索引列,则是最完美的。
3、 哈希连接(Hash Join)
* 优化器对小表利用连接键在内存中建立hash表
* 扫描大表,每得到一条记录,就来hash表中“探测”一次,找出与hash表匹配的行
注意:Hash Join 是CBO做大数据集连接时的常用方式。
0 0
- Oracle学习之:表连接三种方式
- oracle 表连接三种方式
- oracle三种连接方式
- oracle多表连接的三种方式
- Oracle-多表连接的三种方式解读
- Oracle数据库三种连接方式
- oracle-java程序连接三种方式
- Java连接Oracle数据库的三种连接方式
- ORACLE的三种安装方式和连接方式~
- Oracle表连接方式之等值连接、外部连接
- ORACLE之 几种常用的表连接方式
- VC++和Oracle数据库的三种连接方式
- 浅谈Delphi7.0连接Oracle数据库的三种方式
- JAVA连接oracle数据库的三种方式
- Delphi7.0连接Oracle数据库的三种方式
- Oracle表连接方式
- Oracle表连接方式
- ORACLE表连接方式
- SPOJ BIPCSMR16 想法
- CentOS安装Nginx
- linux学习笔记(五)
- Majority Element
- Linux下c开发 之 线程通信与pthread_cond_wait()的使用
- Oracle学习之:表连接三种方式
- cf#403 A B C
- Java和JavaScript的相互调用
- Call to undefined function pg_connect()
- 创建和查询可观察序列
- UVA 6-10 699
- Mongodb3.x 权限控制
- Qt mac sdl窗口指针
- www.clickwifi.net——study summary