Thursday, February 20, 2014

sql tuning course

sql optimization
This Oracle Database 11g: SQL Tuning Workshop Release 2 training assists database developers, DBAs and SQL developers in identifying and tuning inefficient SQL statements. You'll explore investigative methods to reveal varying levels of detail about how the Oracle database executes the SQL statement; this helps you determine the root causes of the inefficient SQL statements.

Many client/server application programmers consider SQL a messaging language, because queries are issued and data is returned. However, client tools often generate inefficient SQL statements. Therefore, a good understanding of the database SQL processing engine is necessary for writing optimal SQL. This is especially true for high transaction processing systems.

Typically, SQL statements issued by OLTP applications operate on relatively few rows at a time. If an index can point to the exact rows that are required, then Oracle can construct an accurate plan to access those rows efficiently through the shortest possible path. In decision support system (DSS) environments, selectivity is less important, because they often access most of a table's rows. In such situations, full table scans are common, and indexes are not even used.

Course Objectives
    • Identify poorly performing SQL
    • Trace an application through its different levels of the application architecture
    • Understand how the Query Optimizer makes decisions about how to access data
    • Define how optimizer statistics affect the performance of SQL
    • List the possible methods of accessing data, including different join methods
    • Modify a SQL statement to perform at its best

Course Topics

Exploring the Oracle Database Architecture

Introduction to SQL Tuning
  • Reason for Inefficient SQL Performance
  • Performance Monitoring Solutions
  • Monitoring and Tuning Tools: Overview
  • CPU and Wait Time Tuning Dimensions
  • Scalability with Application Design, Implementation, and Configuration
  • Common Mistakes on Customer systems & Proactive Tuning Methodology
  • Simplicity in Application Design
  • Data Modeling, Table Design, Index Design, Using Views, SQL Execution Efficiency, Overview of SQL*Plus & SQL Developer

Introduction to the Optimizer
  • Structured Query Language
  • SQL Statement Parsing: Overview
  • Why Do You Need an Optimizer?
  • Optimization During Hard Parse Operation
  • Transformer & Estimator
  • Cost-Based Optimizer
  • Plan Generator
  • Controlling the Behavior of the Optimizer, Optimizer Features and Oracle Database Releases
    Interpreting Execution Plans
  • What Is an Execution Plan? Where To Find Execution Plans and Viewing Execution Plans
  • Plan Table & AUTOTRACE
  • Using the V$SQL_PLAN View
  • Automatic Workload Repository (AWR)
  • SQL Monitoring: Overview
  • Interpreting an Execution Plan
  • Reading More Complex Execution Plans and Reviewing the Execution Plan
  • Looking Beyond Execution Plans

Application Tracing
  • End-to-End Application Tracing Challenge
  • Location for Diagnostic Traces
  • What is a Service? Use Services with Client Applications & Tracing Services
  • Use Enterprise Manager to Trace Services
  • Session Level Tracing: Example
  • The trcsess Utility and SQL Trace File Contents
  • Invoking the tkprof Utility and Output of the tkprof Command
  • tkprof Output with and without Index: Example

Optimizer: Table and Index Operations
    • Row Source Operations, Main Structures and Access Paths
    • Full Table Scan
    • Indexes: Overview and B*-tree Indexes and Nulls
    • Using Indexes: Considering Nullable Columns
    • Index-Organized Tables
    • Bitmap Indexes, Bitmap Operations and Bitmap Join Index
    • Composite Indexes and Invisible Index
    • Guidelines for Managing Indexes and Investigating Index Usage

Optimizer Join Methods
  • Nested Loops Join
  • Nested Loops Join: 11g Implementation
  • Sort Merge join
  • Hash Join and Cartesian Join
  • Equijoins and Nonequijoins
  • Outer Joins
  • Semijoins
  • Antijoins

Optimizer: Other Operators
  • When Are Clusters Useful?
  • Inlist Iterator and View Operator
  • Count Stop Key Operator
  • Min/Max and First Row Operators and Other N-Array Operations
  • Filter operations and Concatenation Operations
  • UNION [ALL], INTERSECT, MINUS
  • Result Cache Operator

Case Study: Star Transformation
  • The Star Schema Model and The Snowflake Schema Model
  • Star Transformation
  • Retrieving Fact Rows from One Dimension and from All Dimensions
  • Joining the Intermediate Result Set with Dimensions
  • Star Transformation Plan Examples
  • Star Transformation Hints
  • Using Bitmap Join Indexes
  • Bitmap Join Indexes: Join Model 1 to 4

Optimizer Statistics
  • Types of Optimizer Statistics
  • Table, Index and Column Statistics
  • Index Clustering Factor
  • Histograms, Frequency Histograms and Histogram Considerations
  • Multicolumn Statistics and Expression Statistics Overview
  • Gathering System Statistics and Statistic Preferences
  • Manual Statistics Gathering
  • Locking Statistics, Export/Import Statistics and Set Statistics

Using Bind Variables
  • Cursor Sharing and Different Literal Values
  • Cursor Sharing and Bind Variables
  • Bind Variable Peeking
  • Cursor Sharing Enhancements
  • The CURSOR_SHARING Parameter
  • Forcing Cursor Sharing
  • Adaptive Cursor Sharing
  • Interacting with Adaptive Cursor Sharing

Using SQL Tuning Advisor
  • Tuning SQL Statements Automatically
  • Application Tuning Challenges
  • SQL Tuning Advisor: Overview
  • Stale or Missing Object Statistics and SQL Statement Profiling
  • Plan Tuning Flow and SQL Profile Creation
  • SQL Tuning Loop, Access Path Analysis and SQL Structure Analysis
  • Database Control and SQL Tuning Advisor
  • Implementing Recommendations

Using SQL Access Advisor
  • SQL Access Advisor: Overview
  • Possible Recommendations
  • SQL Access Advisor Session: Initial Options
  • SQL Access Advisor: Recommendation Options
  • SQL Access Advisor: Schedule and Review
  • SQL Access Advisor: Results
  • SQL Access Advisor: Results and Implementation

Using Automatic SQL Tuning
  • SQL Tuning Loop
  • Automatic SQL Tuning
  • Automatic Tuning Process
  • Configuring Automatic SQL Tuning
  • Automatic SQL Tuning: Result Summary
  • Automatic SQL Tuning: Result Details
  • Automatic SQL Tuning Result Details: Drilldown
  • Automatic SQL Tuning Considerations

SQL Performance Management
  • Maintaining SQL Performance and SQL Plan Management: Overview
  • SQL Plan Baseline: Architecture
  • Important Baseline SQL Plan Attributes
  • SQL Plan Selection
  • Possible SQL Plan Manageability Scenarios
  • SQL Performance Analyzer and SQL Plan Baseline Scenario
  • Loading a SQL Plan Baseline Automatically and Purging SQL Management Base Policy
  • Enterprise Manager and SQL Plan Baselines


Related Courses

Oracle Database 11g: SQL Tuning Work


No comments:

Post a Comment