于OLTP制,嵌套连接占70%左右,哈希联接占20%,合并排序连接帐户10%。

嵌套连接

算法:嵌套连接从两个表分选出小表为驱动表,大表为被驱动表。先訪问驱动表(仅仅訪问1次)。然后依据驱动表返回的行数多次訪问被驱动表(被驱动表訪问的次数等于驱动表返回的行数)。

依据上面的算法,我们能够知道,想要让嵌套连接性能好。必须同一时候满足下面3个条件:

1)驱动表返回的行数要足够少(降低被驱动表訪问的次数);

2)驱动表的限制条件要有索引(提高訪问驱动表的性能);

3)被驱动表的连接条件要有索引(提高訪问被驱动表的性能)。

前面说过,在OLTP系统中,嵌套连接占了70%,由于OLTP系统返回的数据比較少,非常适合嵌套连接的情形。另一个原因就是,嵌套连接差点儿没有限制。全部的操作都能够用嵌套连接,不像哈希连接和合并排序连接有非常多的限制。

哈希连接

算法:哈希连接是从两个表中选出一个小表作为驱动表,大表为被驱动表。依据驱动表构建哈希表,然后被驱动表的每一行在哈希表中进行哈希匹配。

驱动表和被驱动表各訪问一次。

依据上面的算法我们能够知道。哈希连接仅仅支持等值连接,它的限制最多。

想让哈希连接性能好。必须保证驱动表足够小,使得内存PGA能够放下哈希表。

合并排序连接

算法:合并排序连接是先分别对两个表进行排序,然后再依据排序结果进行比較合并。合并排序连接没有驱动表和被驱动表的概念。
合并排序连接的限制条件非常多。支持><,但不支持like和<>
这样的连接方式最大的性能开销是2次排序,因此在OLTP系统中非常少被用到。

版权声明:本文博主原创文章。博客,未经同意不得转载。

[Oracle] 接线表的更多相关文章

  1. DB2和Oracle区别

    转 http://blog.chinaunix.net/uid-7374279-id-2057574.html 写在前面:今天客户来访(日本人),问我DB2和Oracle区别.因为不是DBA(勉强的理 ...

  2. Oracle【IT实验室】数据库备份与恢复之四:RMAN(备份与恢复管理器)

    RMAN是ORACLE提供的一个备份与恢复的工具,可以用来备份和还原数据库文件. 归档日志和控制文件.它也可以用来执行完全或不完全的数据库恢复. RMAN可以由命令行接口或者 OEM的 Backup ...

  3. Oracle数据库的后备和恢复————关于检查点的一些知识

    当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的故障(硬件故障.软件故障.网络故障.进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使 ...

  4. Oracle日常维护脚本

    1.正常停库流程     ps -ef|grep LOCAL=NO|cut -c 9-15|xargs kill -9      shutdown immediate; 2.备份数据库     bac ...

  5. oracle学习笔记(转)

    命令行操作:打开服务: services.msc启动Oracle: net start OracleOraHome92TNSListener     net start OracleService实例 ...

  6. ORACLE数据库学习之逻辑结构

     逻辑结构 数据库逻辑结构包含表空间.段.范围(extent).数据块和模式对象. (一)表空间 一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间类似于sybase下的设备.(TABLES ...

  7. Oracle与SQLSERVER修改数据文件的路径

    1. SQLSERVER ALTER DATABASE CWBASEMSS modify file (name = cwbasemss_dat ,filename = 'c:\cwdata\mss\C ...

  8. oracle与DB2

    1.体系结构,DB2的实例和数据库分开的做法,我个人还是比较喜欢的,因为实例可以创建多个,数据库的恢复直接恢复到实例下就可以了,相对ORACLE简单多了. 2.管理工具,DB2的管理工具做得太简陋了, ...

  9. oracle与DB2的一些架构

    首先,我们需要理解 Oracle 使用的架构,并理解它与 DB2 的不同之处.图 1 展示了 Oracle 的系统结构.将该图与 图 2 进行比较,后者显示了 DB2 的系统结构.在阅读本文的时候,为 ...

随机推荐

  1. ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程(转)

    环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...

  2. 什么是VSync

    VSync是垂直同期(Vertical Synchronization)的简称.主要的思路是将你的FPS和显示器的刷新率同期起来.其目的是避免一种称之为"撕裂"的现象.再以下我将具 ...

  3. RR模式下的事务隔离

    <pre name="code" class="html">mysql> select * from t100; Session 2: +-- ...

  4. 修改Tabhost样式和字体大小和居中显示

    有时候我们的tabhost并不需要贴图,所以这个时候就必须把文字居中显示和设置大小了,代码如下 setContentView(R.layout.home_vzo_tabhost);          ...

  5. Mysql 导入导出数据结构及数据

    方式一: mysqldump -ukevin -P3306 --default-character-set=utf8 -p -h10.1.15.123 activity sign_in_user &g ...

  6. C#实现树的双亲表示法

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVja3k1MTIyMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  7. LeetCode——Search a 2D Matrix

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  8. 关于hibernate中多对多关系

    关于多对多关系 数据库:在使用多对多的关系时,我们能够使用复合主键.也能够不使用,直接引入外键相同能够实现. 在数据库中使用多对多关系时,须要一个中间表. 多对多关系中的数据库结构例如以下: 表:Or ...

  9. HOG算子

    原地址:http://blog.csdn.net/chlele0105/article/details/11991533 梯度直方图特征(HOG) 是一种对图像局部重叠区域的密集型描述符,它通过计算局 ...

  10. OCP读书笔记(10) - 使用闪回技术I

    使用闪回技术查询数据 闪回查询:就是查询表在过去某个时间点的数据,所用到的技术就是undo数据 SQL> conn scott/tiger 创建测试表 SQL> create table ...