Abstract

Parallel execution plans are harder to read than serial plans because you really need to understand the impact of the order of operation, distribution mechanisms chosen, and (in recent versions of Oracle) the timing of the generation and use of Bloom filters. In this presentation we examine the basics of how parallel execution slaves work, and the way in which this can result in a massive difference between the apparent join order of an execution plan and the actual order of rowsource generation of that plan. We learn about "Table Queues" and "Data Flow Operations" and how they help us follow the order of operation, how the different distribution method can make a dramatic difference to performance, and how we can control them if it really becomes necessary.