在并行度为 1 的场景下, 对于如下查询计划执行单 DFO 调度。

    两 DFO 调度示例

    1. =============================================================================
    2. |ID|OPERATOR |NAME |EST. ROWS|COST |
    3. -----------------------------------------------------------------------------
    4. |0 |PX COORDINATOR MERGE SORT | |9873917 |692436562|
    5. |1 | EXCHANGE OUT DISTR |:EX10002|9873917 |689632565|
    6. |2 | SORT | |9873917 |689632565|
    7. |4 | WINDOW FUNCTION | |29621749 |629924873|
    8. |6 | HASH JOIN | |31521003 |591048941|
    9. |7 | JOIN FILTER CREATE | |407573 |7476793 |
    10. |8 | EXCHANGE IN DISTR | |407573 |7476793 |
    11. |9 | EXCHANGE OUT DISTR (BROADCAST) |:EX10001|407573 |7303180 |
    12. |10| HASH JOIN | |407573 |7303180 |
    13. |11| JOIN FILTER CREATE | |1 |53 |
    14. |13| EXCHANGE OUT DISTR (BROADCAST)|:EX10000|1 |53 |
    15. |15| TABLE SCAN |NATION |1 |53 |
    16. |16| JOIN FILTER USE | |10189312 |3417602 |
    17. |17| PX BLOCK ITERATOR | |10189312 |3417602 |
    18. |18| TABLE SCAN |SUPPLIER|10189312 |3417602 |
    19. |19| JOIN FILTER USE | |803481600|276540086|
    20. |20| PX PARTITION ITERATOR | |803481600|276540086|
    21. =============================================================================

    如下图所示,DFO 树除 ROOT DFO 外, 被划分为 3 个 DFO, 调度时会先调 0 和 1 对应的 DFO, 待 0 号 DFO 执行完毕后, 会再调度 1 和 2 号 DFO, 依次迭代完成执行。