Jonathan Lewis 90-minute Real Time Webinars
“Creating Test Data to Model Production Problems” Video recorded September 30, 2015
In this 90-minute presentation we cover a few topics that you need to consider when setting up a framework for testing. First, how to generate large amounts of data quickly and repeatably; then how to ensure that the data content and pattern is a reasonable match to the system you want to emulate. We’ll examine a couple of cases to show that you can be caught out by such simple errors as creating indexes at the wrong point in your testing, and the differences between using CTAS (create table as select) and PL/SQL loops (especially multiple concurrent run copies) to generate data.
Although it takes some effort to create highly realistic models of production activity, we’ll also look at simple ways of modelling some aspects of concurrency, and show how concurrency can make a massive difference to what goes on inside the database – time permitting we will take a look at a few dumps of internal structures (disk and memory) to highlight some of the effects of concurrency.
“Five Hints for Optimising SQL” Tuesday, 10/20. Two (identical) sessions - 8:00 to 9:30 AM EDT and 2:00 to 3:30 PM US EDT
Adding hints to production code is a practice to be avoided if possible, though it’s easy to make the case for emergency patching, and also as the basis for a method of generating SQL Plan Baselines. However, notwithstanding (and sometimes because of) the continuing enhancements to the optimizer, there are cases where the only sensible option is to constrain the broad brush strategy that the optimizer can take in a way that allows it to find a reasonable execution plan in a reasonable time.
In this 90-minute presentation we examine five of the “classic” hints that I believe are reasonable tactical weapons in the battle to beat the optimizer – (no_)merge, (no)_unnest, (no_)_subq, (no_)push_pred, and driving_site(). We will also glance briefly at a couple of other useful hints along the way.