本文共 621 字,大约阅读时间需要 2 分钟。
对于Oracle Data Pump工具expdp的并行参数,确实可以在特定情况下真正起到并行处理的作用,但其效果取决于表的大小和结构。以下是详细的分析和测试结果:
单个小表的并行测试:
- 当设置parallel=2时,expdp命令并未实际分成两个进程来处理数据。直接路径导出不支持并行,且由于表的大小不足以触发外部表的并行处理,实际上只有一个进程在工作。
- 这意味着对于小型数据,设置并行参数并不会带来性能提升,反而可能增加资源消耗。
大型非分区表的并行测试:
- 对于非分区表,设置高并行参数如parallel=10时,实际上只有四个进程在工作(一个主进程和三个PX进程)。这表明,表的大小和结构不足以支持更多的PX进程,导致并行效果不明显。
- 尽管并行参数设置较高,但由于表的数据量和估算大小,PX进程的数量没有达到预期的并行效果。
大型分区表的并行测试:
- 当分区表中的每个分区大小超过250MB时,设置parallel=10会启动十个主进程,每个进程分别处理一个分区。这样,每个分区的数据可以同时被导出,显著提高了总体的导出速度。
- 这表明,在分区表中,合理的分区大小和并行参数设置可以有效地分配PX进程,从而实现真正的并行处理。
结论:
- 对于单个小型表,或者非分区的大型表,设置并行参数并不会带来显著的性能提升。
- 对于大型分区表,合理的分区设计和高并行参数设置可以有效提升导出速度。每个分区应超过250MB,以确保足够的PX进程被创建和使用。
转载地址:http://xxlyz.baihongyu.com/