Oracle SQL Performance Tuning for Developers LiveLessons
English | Mar 9, 2015 | ISBN: 0134117026 | mp4 | H264 1280x720, 640x360 | AAC 2 ch | 5 hrs 33 min | 1.62 GB
eLearning | Skill Level: Intermediate
The focus of is to illustrate coding techniques that ensure a consistent response time between instances and releases of the Oracle database. This course works closely with performance tuning of actual SQL statements.
In this video training, Dan Hotka starts out with a complete overview of the Oracle architecture so students can get an understanding how their SQL and applications can take advantage of the computing environment. This course then goes in-depth on understanding and controlling the Explain Plan, which is how and in what order Oracle retrieves data. The discussion includes considerable detail, with SQL examples, on how the optimizers--both rule-based and cost-based, but mostly cost-based--make their decisions. Students will work with a variety of SQL statements, reviewing Explain Plans and making changes to make these SQL statements perform better. Lectures include index design, using hints and coding style to control the Explain Plans, and how to use useful tools such as index monitoring, SQL Trace, and the PL/SQL profiler.
This LiveLessons course takes a close look at indexes: how Oracle selects them, why they are sometimes not used, and how to tell if indexes are being used.
This course includes Oracle10g, Oracle11g, and Oracle12c SQL tuning topics.
The source code repository for this LiveLesson can be downloaded from the Downloads tab on this product page or by clicking here for a direct download.
Learn How To
- Read and understand Explain Plan content
- Review an Explain Plan and tell quickly if this is a good plan
- Understand a good index column candidate from a not-so-good candidate
- Quickly tell the likelihood if your SQL will use an existing index
- Use coding and a variety of Hints (directives) that can produce better performing SQL
- Execute and interpret SQL trace output
Who Should Take This Course
- Oracle programmers
- Oracle database administrators who need additional training on SQL tuning
- Working knowledge of the SQL query language
Table of Contents
Lesson 1: Oracle Database Architecture
This lesson reviews the Oracle RDBMS architecture from a SQL tuning point of view. This information is referenced throughout the course and lays down important groundwork for finding and solving SQL performance issues. The lesson explores various memory structures and provides useful knowledge on exactly how Oracle processes submitted SQL. The lesson also covers a few important application design issues, which head off future performance issues. It then covers some new memory structures for the Oracle12 database environment.
Lesson 2: Oracle Execution Plans/Explain Plans
This lesson covers the initial course topics and important Plan_Table setup for the various Oracle databases covered in this course. The lesson covers a variety of character-mode and popular graphical tools that can be used for SQL tuning. It then shows how to use each of the tools to display the information needed to successfully tune SQL. The lesson also covers a high-level tour of SQL Trace. Finally, the lesson covers important Explain Plan syntax to extract valuable information stored in the Oracle memory structures.
Lesson 3: Explain Plan Content
This lesson takes students on a deep-dive journey on exactly how Explain Plans are produced, how they are read, and how they are controlled. This lesson focuses on regular SQL, but the lesson also covers the common problems found with partitioned-query SQL.
Lesson 4: Indexes
This lesson starts with a review of the index syntax along with tips and techniques for each. It then illustrates exactly how Oracle selects indexes for use and the issues caused by unused indexes. It also covers a key topic, index selection by Oracle. This lesson is accompanied by a useful report. The lesson completes the index conversation with best practices of two more index types available in Oracle. Finally, it shows how to identify good table columns while providing some useful tips on indexing hints.
Lesson 5: Where Clause Processing
This lesson enhances the topics covered in Lesson 3. It starts with a discussion of how Oracle arrives at row counts for each line of the Explain Plan and where problems can occur. It then illustrates how to avoid a variety of issues by using proper data types. Finally, the lesson concludes with a look at a variety of Where clause statements and their associated Explain Plan line items.
Lesson 6: Sorts/Views/Sub-Query Processing
This lesson enhances the topics covered in Lesson 3. It begins with two short topics on how Oracle handles SQL that sorts and SQL that reference views. Next it covers sub-query processing and controlling the Explain Plan using coding style. Finally, it wraps up with a good lesson on hint usage: both with sub-queries, views, and other queries.
Lesson 7: Problem SQL Review
This lesson starts with a review of three problem SQLs. The lesson covers what the problem is and possible solutions for each query. The lesson wraps up with a non-tuning topic: coding style. Using this coding technique aids developers who need to review and adjust the SQL code in the future.
Lesson 8: Data Types and Statistics
This lesson re-enforces some important data type topics from Lesson 5 as well as important statistics that greatly aid the Explain Plan process. The lesson wraps up with some new features of Oracle12 that should help process SQL more efficiently. It also discusses how the technology works and why this is important.