Parallel Execution Skew – 12c Hybrid Hash Distribution With Skew Detection

0
1
Since Parallel Execution Skew is a common problem that can severely limit the scalability of Parallel Execution (see my previous article for a demonstration), Oracle has introduced a new feature in 12c that can address the problem automatically. That’s great, but unfortunately – at least in the initial 12c release – it only applies to a limited number of scenarios,… Read more
0
1

Parallel Execution Skew – Demonstrating Skew

0
0
After providing a baseline for Parallel Execution working as expected in the introduction of this series, in this part I’ll demonstrate how things can go wrong with the work distribution. A Simple Example Of Parallel Execution Skew One common source of Parallel Execution Skew is a skewed foreign key, which means that the value distribution of the foreign key column… Read more
0
0

Parallel Execution Skew – Introduction

0
0
This is the first part of a mini-series about Parallel Execution Skew and how to address it. Introduction So what does “Parallel Execution Skew” mean? With Oracle Enterprise Edition you can have Oracle automatically spread the processing of a single SQL statement across several worker processes in the hope to complete the processing in less elapsed wall-clock time. Note: T… Read more
0
0

Analyzing and Troubleshooting Oracle Parallel Execution

0
0
  Watch video The video above is accompanied by the following resources: Analysing and Troubleshooting Parallel Execution presentation slides (.pdf) Further reading: Calculating Parameter Values for Parallelism Auto DOP and Concurrency Auto DOP and Queuing Parameter Settings Auto DOP and Parallel Statement Queuing Workload Management – Statement Queuing Workload Management – A Simple (but real) Example Parallel_degree_limit hierarchy – CPU,… Read more
0
0

HAVING Cardinality

0
0
When performing aggregate GROUP BY operations an additional filter on the aggregates can be applied using the HAVING clause. Usually aggregates are one of the last steps executed before the final result set is returned to the client. However there are various reasons, why a GROUP BY operation might be somewhere in the middle of the execution plan operation, for example it might be part of… Read more
0
0

Oracle Cost-Based Optimizer Advanced

0
0
This video and set of resources is a follow up to the webinar broadcast by Red Gate on 01 August 2012. You may want to watch Oracle Cost-Based Optimizer Basics before you view this video Watch video The video above is accompanied by the following downloadable resources: Read me Presentation slides – PDF version Presentation slides – PowerPoint version concurrent_execution_inserts_check_results.sq… Read more
0
0

Incremental Partition Statistics Review

0
0
Here is a summary of the findings while evaluating Incremental Partition Statistics that have been introduced in Oracle 11g. The most important point to understand is that Incremental Partition Statistics are not “cost-free”, so anyone who is telling you that you can gather statistics on the lowest level (partition or sub-partition in case of composite partitioning) without any noticeable overhead… Read more
0
0

Dynamic Sampling (III) – Real-Life Data – Part I

0
0
In the previous parts of the series I outlined the basics on Dynamic Sampling. Let’s see how Dynamic Sampling deals with typical real-life data patterns. As you might be aware, quite often real data follows certain patterns for how data is clustered together, usually related to how the data arrives. This clustering (or scattering) of data within a table can… Read more
0
0

Nested Loop Join Costing

0
0
The basic formula for calculating the costs of a Nested Loop Join is pretty straightforward and has been described and published several times. In principle it is the cost of acquiring the driving row source plus the cost of acquiring the inner row source of the Nested Loop as many times as the driving row source dictates via the cardinality… Read more
0
0

Oracle Cost-Based Optimizer Basics

0
0
This video and set of resources is a follow up to the webinar broadcast by Red Gate on 11 Apr 2012. Watch video The video above is accompanied by the following downloadable resources: Read me Presentation slides – PDF version Presentation slides – PowerPoint version Screenshots – Demo 1 (.pdf) Screenshots – Demo 2 (.pdf) Screenshots – Demo 3 (.pdf)… Read more
0
0

Dynamic Sampling (II) – Controlling the Activity – Part 2

0
0
In the first part of this post I’ve provided a table that summarizes the Dynamic Sampling levels on session / system level. In the “Blocks Sampled” column there were numbers in brackets for the level 3 and 4 description. In the second part of this post I’ll explain why. DYNAMIC_SAMPLING_EST_CDN In the presence of statistics Dynamic Sampling behaves differently: For… Read more
0
0

Dynamic Sampling (II) – Controlling the Activity – Part 1

0
0
I’ve closed the introduction to Dynamic Sampling with an odd test case result: Although all table data was read by Dynamic Sampling the cardinality estimate of the optimizer was still way off – not quite what one might expect. The reason for this odd behaviour can be explained by the fact that Dynamic Sampling behaves differently depending on whether statistics… … Read more
0
0

Dynamic Sampling (I), an Introduction – Part 1

0
0
Welcome to my first post on AllThingsOracle.com! This is the initial part of a series highlighting different aspects of “Dynamic Sampling”. So what is Dynamic Sampling? Probably most of you have already heard of it as a feature that deals with tables that don’t have any statistics gathered for – so it’s a feature of the Cost-Based Optimizer that has been… Read more
0
0