博客
关于我
Oracle数据泵导出使用并行参数,单个表能否真正的并行?
阅读量:447 次
发布时间:2019-03-06

本文共 621 字,大约阅读时间需要 2 分钟。

对于Oracle Data Pump工具expdp的并行参数,确实可以在特定情况下真正起到并行处理的作用,但其效果取决于表的大小和结构。以下是详细的分析和测试结果:

  • 单个小表的并行测试

    • 当设置parallel=2时,expdp命令并未实际分成两个进程来处理数据。直接路径导出不支持并行,且由于表的大小不足以触发外部表的并行处理,实际上只有一个进程在工作。
    • 这意味着对于小型数据,设置并行参数并不会带来性能提升,反而可能增加资源消耗。
  • 大型非分区表的并行测试

    • 对于非分区表,设置高并行参数如parallel=10时,实际上只有四个进程在工作(一个主进程和三个PX进程)。这表明,表的大小和结构不足以支持更多的PX进程,导致并行效果不明显。
    • 尽管并行参数设置较高,但由于表的数据量和估算大小,PX进程的数量没有达到预期的并行效果。
  • 大型分区表的并行测试

    • 当分区表中的每个分区大小超过250MB时,设置parallel=10会启动十个主进程,每个进程分别处理一个分区。这样,每个分区的数据可以同时被导出,显著提高了总体的导出速度。
    • 这表明,在分区表中,合理的分区大小和并行参数设置可以有效地分配PX进程,从而实现真正的并行处理。
  • 结论

    • 对于单个小型表,或者非分区的大型表,设置并行参数并不会带来显著的性能提升。
    • 对于大型分区表,合理的分区设计和高并行参数设置可以有效提升导出速度。每个分区应超过250MB,以确保足够的PX进程被创建和使用。

    转载地址:http://xxlyz.baihongyu.com/

    你可能感兴趣的文章
    php-数据结构-二叉树的构建、前序遍历,中序遍历,后序遍历,查找,打印
    查看>>
    php-有序数组合并后仍有序
    查看>>
    redis使用
    查看>>
    Redis以及Redis的php扩展安装
    查看>>
    PHP-算法-最少比较次数获取最大值最小值
    查看>>
    php-约瑟夫问题
    查看>>
    Redis从库不能同步报Can’t save in background: fork: Cannot allocate memory错误
    查看>>
    Redis从入门到精通|干货篇
    查看>>
    php.ini maxfileuploads,细说PHP高洛峰文件上传类源文件
    查看>>
    php.ini中常见的配置信息选项
    查看>>
    php.ini配置中有10处设置不当,会使网站存在安全问题
    查看>>
    php/jsp/asp的区别
    查看>>
    php20个主流框架
    查看>>
    php301到https,虚拟主机设置自动301跳转到HTTPS
    查看>>
    php5 apache 配置
    查看>>
    php5 升级 php7 版本遇到的问题处理方法总结
    查看>>
    PHP5.3.3安装Mcrypt扩展
    查看>>
    PHP5.4 + IIS + Win2008 R2 配置
    查看>>
    Redis从入门到精通
    查看>>
    PHP5.6.x编译报错:Don't know how to define struct flock on this system, set --enable-opcache=no
    查看>>