I’ve popped this note to the top of the stack (and had to delete and refresh all the related pingbacks on my blog) because I’ve added an index to Randolf Geist’s series on parallel execution skew, and included a reference his recent update to the XPLAN_ASH utility.
This is the directory for a short series I wrote discussing how to interpret parallel execution plans in newer versions of Oracle.
- A quiz introducing Bloom Filters
- What we want to see in parallel execution plans
- Creating the demonstration data
- Parallel hash join with Broadcast strategy (and a note on 12c pq_replicate)
- Table Queues, message size, and Bloom filters
- Parallel hash join Hash/Hash distribution
For other aspects of parallel execution, here are links to several articles by Randolf Geist, published on his own blog or on Oracle’s Technet:
- Parallel Execution Analysis Using ASH – The XPLAN_ASH Tool (including notes on SQL Monitoring)
- XPLAN_ASH update – June 2014
- Understanding Parallel Execution – pt. 1
- Understanding Parallel Execution – pt. 2
One of the awkward problems you can encounter with parallel execution is data skew – which has the potential to make just one slave in a set do (almost) all the work hence reducing the performance to something close to serial execution times. has written a series of articles on Parallel Skew that has been published by AllthingsOracle over the last few months.
- Demonstrating Skew
- 12c Hybrid Hash distibution with skew detection
- Addressing skew through manual rewrites
- Skew caused by Outer Joins
And a summary posting from Randolf listing the 5 articles above, but also including a set of short videos on the topic.