ORACLE 的并行执行
来源:互联网 发布:新浪看点阅读数据 编辑:程序博客网 时间:2024/04/27 14:16
1.并行查询
例如:SELECT COUNT(*) FROM BIG_TABLE;
未设置并行查询时,这个查询是典型的串行查询,不设计并行化,可以用:SELECT * FROM BIG_TABLE(DBMS_XPLAN.DISPLAY);
查看一下执行计划。
启用并行查询方法多种,可直接在查询中使用一个提示,或者修改表,要求考虑并行执行路径(在此,我会使用后一种)。
可以具体指定这个表的执行路径中要考虑的并行度,如,可以告诉ORACLE:"我希望你在创建该表的执行计划时使用并行度4":
ALTER TABLE BIG_TABLE PARALLEL 4;
但,我更喜欢告诉ORACLE:“请考虑并行执行,但你要根据当前的系统工作负荷和查询本身来确定适当的并行度”。就是说,并行度要随着系统上工作负荷的增减而变化。如果有充分的空闲资源,并行度就会上升;如果可用资源有限,并行度就会下降。这样就避免为机器强加一个固定的并行度。利用这种方法,允许ORACLE动态地增加或减少查询锁徐的并发资源量。
因此,可以修改该表的并行查询为:
ALTER TABLE BIG_TABLE PARALLEL;
要记住并行查询要保证两个前提:
(1)你需要执行一个大任务,如,一个长时间运行的查询,这个查询是以分钟,小时或天为单位,而不是秒或次秒。这就是说,并行查询不能作为OLTP系统的解决方案,因为在OLTP系统中你不会执行长时间运行的任务。这些系统中启用并行运行通常是灾难性的。
(2)你需要有充足的空闲资源,如,CPU,I/O和内存。如果缺少任何一种资源,并行查询可能会过度使用资源,这就会负面的影响总体性能和运行时间。
过去,对于许多数据仓库来说,人民总认为必须应用并行查询,这是因为过去数据仓库很稀少,通常只是一个很小,很集中的用户群。而,现在,到处都有数据仓库,且数据仓库的用户群和事务性系统的用户群同样庞大。这说明,在给定时刻,你可能没有足够的空闲资源来启用这些系统上的并行查询。但这并不能说明并行执行通常没有用,而是说,并行执行更应该是一个DBA工具,而不是一个并行查询工具。
- ORACLE 的并行执行
- 陈焕生:深入理解Oracle 的并行执行
- 陈焕生:深入理解Oracle 的并行执行
- 陈焕生:深入理解Oracle 的并行执行
- 陈焕生:深入理解Oracle 的并行执行
- 陈焕生:深入理解Oracle 的并行执行
- 深入理解Oracle 的并行执行
- oracle并行查询操作的执行计划
- Oracle并行执行简介
- Oracle并行执行
- Oracle Parallel Execution(并行执行)
- Oracle Parallel Execution(并行执行)
- Oracle Parallel Execution(并行执行) .
- Oracle Parallel Execution(并行执行)
- Oracle Parallel Execution(并行执行)
- Oracle Parallel Execution(并行执行)
- Oracle Parallel Execution(并行执行)
- Oracle Parallel Execution(并行执行)
- SEO技术核心----一句顺口溜
- 瀑布流布局(基于多栏列表流体布局实现)
- 如何修改Eclipse的 workspace目录
- Linux查看线程
- 通过Ping来判断一个远程计算机是否可以到达
- ORACLE 的并行执行
- 修改SecureCRT终端的Home和End功能键
- wampserver和eclipsePhp一起使用开发php
- java编程中'为了性能'一些尽量做到的地方
- Ice自学第二步——IceStorm中的Demo运行
- vi的行符,doxygen注释,缩进,代码高亮设置
- 使用qemu 建立mini2440的模拟仿真环境
- 使用ETags减少Web应用带宽和负载
- C++头文件重复包含的解决方案