SQL> explain plan for insert /*+ append  parallel(my 2) */ into my select * from ac01;

已解释。

已用时间:  00: 00: 00.16

SQL> select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT

-------------------------------------------------------------------------------------------

--------

Plan hash value: 2164050840

---------------------------------------------------------------------------

| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |

---------------------------------------------------------------------------

|   0 | INSERT STATEMENT   |      |  1902K|   335M| 14813  (20)| 00:02:58 |

|   1 |  LOAD AS SELECT    | MY   |       |       |            |          |

|   2 |   TABLE ACCESS FULL| AC01 |  1902K|   335M| 14813  (20)| 00:02:58 |

---------------------------------------------------------------------------

已选择9行。

已用时间:  00: 00: 01.77

貌似insert部分,不能使用并行。select 部分是可以并行的。

SQL> explain plan for insert /*+ append */ into my select /*+ parallel(ac01 2) */ * from ac01;

已解释。

已用时间:  00: 00: 00.11

SQL> select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT

-----------------------------------------------------------------------------------------------------------------

--------

Plan hash value: 2135288090

---------------------------------------------------------------------------------------------------------------

| Id  | Operation             | Name     | Rows  | Bytes | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |

---------------------------------------------------------------------------------------------------------------

|   0 | INSERT STATEMENT      |          |  1902K|   335M|  8068  (18)| 00:01:37 |        |      |         |

|   1 |  LOAD AS SELECT       | MY       |       |       |            |          |        |      |         |

|   2 |   PX COORDINATOR      |          |       |       |            |          |        |      |         |

|   3 |    PX SEND QC (RANDOM)| :TQ10000 |  1902K|   335M|  8068  (18)| 00:01:37 |  Q1,00 | P->S | QC (RAND)  |

|   4 |     PX BLOCK ITERATOR |          |  1902K|   335M|  8068  (18)| 00:01:37 |  Q1,00 | PCWC |         |

|   5 |      TABLE ACCESS FULL| AC01     |  1902K|   335M|  8068  (18)| 00:01:37 |  Q1,00 | PCWP |         |

---------------------------------------------------------------------------------------------------------------

已选择12行。

已用时间:  00: 00: 00.64

和书里(Troubleshooting Oracle Performance)所说的不一样:

Execute the SQL statement in parallel. Note that in this case, both the INSERT and the

SELECT can be parallelized independently. To take advantage of direct-path inserts, at

least the INSERT part must be parallelized.

书里说,insert 和select都是可以并行的。

oracle中并行与append,如何让insert /*+ append */ 采用并行。相关推荐

  1. oracle中create table with as和insert into with as语句

    oracle支持使用with as 子句来创建表 语法: create table table_name as with clause_name as (select query ) [, claus ...

  2. Oracle中压缩数据节省空间和提高速度

    使用表压缩来节省空间并提高查询性能 很多决策支持系统通常都涉及到存储于几个特大表中的大量数据.随着这些系统的发展,对磁盘空间的需求也在快速增长.在当今的环境下,存储着数百TB(太字节)的数据仓库已经变 ...

  3. oracle没有提交更新,oracle 中更新update不成功的原因

    oracle 中执行insert into 与delete 都正常,但是执行update 却没有反应. 原因: 是因为记录锁.这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在o ...

  4. oracle数据库 append,oracle中insert,copy,insert append执行对比

    oracle中insert,copy,insert append执行对比 还是由于迁移数据库,测试了insert,copy,insert append的执行速度. 环境:oracle9i向oracle ...

  5. oracle appen,Oracle中关于insert中使用/*+append*/和nologging的总结

    关于Nologging和append,一直存在很多误解,经过一系列研究,终于发现了Nologging的真相, 我们来看一下: 1.对于logging 的table处理 a.非归档模式下: SQL> ...

  6. 【DB笔试面试594】在Oracle中,关键字NOLOGGING、APPEND和PARALLEL提高DML性能方面有什么差别?...

    ♣题目部分 在Oracle中,关键字NOLOGGING.APPEND和PARALLEL提高DML性能方面有什么差别? ♣答案部分 众所周知,表模式(LOGGING/NOLOGGING).插入模式(AP ...

  7. 【知识点整理】Oracle中NOLOGGING、APPEND、ARCHIVE和PARALLEL下,REDO、UNDO和执行速度的比较...

    [知识点整理]Oracle中NOLOGGING.APPEND.ARCHIVE和PARALLEL下,REDO.UNDO和执行速度的比较 [知识点整理]Oracle中NOLOGGING.APPEND.AR ...

  8. Oracle中的并行

    Oracle中的并行 (一)Oracle中的并行 首先,Oracle会创建一个进程用于协调并行服务进程之间的信息传递,这个协调进程将需要操作的数据集(例如表的数据块)分割成很多部分,称为并行处理单元, ...

  9. 快速向表中插入大量数据Oracle中append与Nologgin的作用

    当需要对一个非常大的表INSERT的时候,会消耗非常多的资源,因为update表的时候,oracle需要生成 redo log和undo log;此时最好的解决办法是用insert, 并且将表设置为n ...

最新文章

  1. 如何向亲戚们解释人工智能可以干啥?
  2. 删除文件夹下所有的文件_Mac 删除文件/文件夹方法和快捷键
  3. java Date工具类
  4. 美国司法部将对大型科技公司展开广泛、新的反垄断审查
  5. NumPy中的where()函数
  6. ImageView一例
  7. Vue(ts) - ref $refs 之el-input获取焦点
  8. 重磅!2020年国家科技奖受理项目出炉,含钟南山院士团队项目!
  9. 数据结构实验之查找一:二叉排序树
  10. 9203班级纪律 1202
  11. Linux vgchange 命令
  12. Bailian4134 查找最接近的元素【二分查找】
  13. python元组_Python元组
  14. 海量数据挖掘MMDS week2: 频繁项集挖掘 Apriori算法的改进:基于hash的方法
  15. MYSQL select ....outfile.....from.....
  16. python设置excel格式_Python使用xlwt写excel并设置写入格式
  17. Java base64位文件互转
  18. excel下载模版(数据字典)
  19. 新闻:西部数据拟200亿美元收购原东芝存储 《创新者的窘境》硬盘发展史
  20. 使用Python写一个m3u8多线程下载器

热门文章

  1. AMD(锐龙)处理器解决安装 AndroidStudio 虚拟机失败问题
  2. gt ge lt le ne eq 缩写 的 英文 含义
  3. Orleans 介绍
  4. 数字化转型有哪些关键步骤?
  5. webform使用chart
  6. 甲氧基PEG多巴胺DPA-mPEG,Dopamine-mPEG,PEG化的多巴胺具有良好的水溶性
  7. 2023秋招中原银行算法工程师面试分享
  8. DSF分布式服务框架
  9. URL中的保留和不安全字符
  10. 【微信】微信测试公众号申请与使用