在本文中, 在一个简单的星型模型上, 我会使用大量例子和 sql monitor 报告, 力求以最直观简单 的方式, 向读者阐述并行执行的核心内容:
Oracle 并行执行为什么使用生产者-消费者模型....如果 PX 进程在执行计划中需要多次分发数据, 可能需要在执行计划插入一些阻塞点,比如 BUFFER SORT 和 HASH JOIN BUFFERED 这两个操作, 保证上一次的数据分发完成之后,才开始下一次分发...小结
为了说明并行执行的生产者-消费者模型是如何工作的, 我使用了 broadcast 分发, QC 分配两组 PX进程, 一组为生产者, 一组为消费者....这个例子中, 对 lineorder 的 hash 分发会增加明显的 db cpu. 下一节, 我将使用另 一个例子, 说明 hash 分发适用的场景。...所以当 DoP 大于分区数时, 并行执行 的随着 DoP 的提高, 扩展性并不好。