- Tel: +44 (0)1275 859666
UD09 - DB2 for LUW - SQL Performance and Tuning - 2 Days
Course Description
This course provides advanced DB2 for LUW training. It is aimed at staff requiring a detailed knowledge of the issues involved in writing, monitoring and tuning SQL queries that run in a DB2 for LUW environment.
Pre-requisites
The student should be familiar with writing SQL statements SELECT, INSERT, UPDATE and DELETE.
Objectives
The course provides information relating to the coding of efficient SQL statements. The major part of the course focuses on ensuring that SQL performs well in a production environment. The DB2 Explain facilities are used to demonstrate how SQL performance may be monitored and tuned.
On completion of this course the student will be able to:
- understand the performance issues involved in constructing a system
- implement an efficient tablespace, table and index design
- understand the importance of RUNSTATS, REORGCHK and REORG
- understand the process of optimisation
- describe the various access path techniques that DB2 is able to use
- write efficient SQL statements
- run and understand the Visual Explain Facility
- run and understand the command line Explain Facilities
Environment
The course applies to DB2 running in a Linux, Unix or Windows environment.
Customisation
For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.
Course Details
- DB2 INSTANCE PERFORMANCE ISSUES
- Configuring Instances for Performance
- DATABASE PERFORMANCE ISSUES
- Data Placement - SMS or DMS?
- Automatic Storage Databases
- Containers, Pages And Extents
- Automatic Database Configuration
- Bufferpool Issues
- Page and Row Organisation
- Automatic Storage Databases
- TABLE / INDEX PERFORMANCE ISSUES
- Db2 Column Types
- Null Values
- Null and Default Compression
- Compression - Row Format
- Index Clustering
- Multidimensional Clustering
- Null Values
- DATA MANIPULATION LANGUAGE PERFORMANCE ISSUES
- Select Statements
- The Where Clause
- Special Operators
- Special Operators - Examples
- Sql Built-In Column Functions
- Using xxDistinctxx
- Group By Clause
- Having Clause
- Order By Clause
- Fetch First xxnxx Rows Only Clause
- The Update Statement
- The Delete Statement
- The Insert Statement
- Scalar Functions
- Function Examples
- The Case Statement
- Joins
- Sql Union
- Subqueries
- Common Table Expression Example
- Writing a Common Table Expression
- Subqueries Using In
- Exists
- Common Table Expressions
- Common Table Expression Example
- Recursive SQL
- Recursive SQL Example
- Recursive SQL - Controlling Depth of Recursion
- The Where Clause
- APPLICATION PERFORMANCE
- The Db2 Optimizer
- Levels Of Optimisation
- Operational Utilities
- Rebinding
- The Runstats Utility
- Runstats Parameters
- Runstats - Sampling Options
- Runstats - Statistics Profiling
- Runstats - Throttling
- Runstats Profiling Examples
- Automatic Statistics Collection
- Automatic Statistics Profile Generation
- The Reorgchk Utility
- The Reorg Utility
- Offline / Online Table Reorg
- Index Reorg
- Levels Of Optimisation
- MONITORING
- Error Logging
- Database Monitoring
- Snapshot Monitor
- Turning Monitoring Switches On
- Snapshot Commands
- Taking a Snapshot using Sql
- SQL Snapshot Functions
- Event Monitors
- The Create Event Monitor Command
- Event Monitor Example
- Activating Monitors
- Formatting File Monitor Output
- Event Monitors - Writing to SQL tables
- The Activity Monitor
- Health Monitoring
- Health Indicator Configuration
- Recommendation Advisor
- Database Monitoring
- SQL PERFORMANCE AND TUNING
- SQL Explain Tools
- Explain Tables
- The Db2 Explain Bind Option
- The Db2expln Tool
- The DynExpln Tool
- Interpreting DB2Expln and Dynexpln Output
- The Db2advis Tool - Index Advisor
- The Design Advisor
- The Visual Explain Tool
- The Explain Operator Details Window
- Visual Explain Operators
- Visual Explain - The Table Statistics Window
- Visual Explain - The Column Statistics Window
- The Index Statistics Window
- The Explainable Statements Window
- Access Paths - Tablespace Scan (Relational Scan)
- Non-Matching Index Scan
- Matching Index Scan
- Multiple Index Access
- Index Only Access
- Table Join Methods
- Merge Scan Join
- Nested Loop Join
- Hash Join
- Explain Tables