£1,725.00

Price for this course

3 HOURS

Duration

Classroom IBM

Delivery

Available dates


Mon08Feb 21 TO Wed10Feb 21

Where

Tech Data ILO UK
Connection details will be communicated separately
Instructor Led
Online

Code

TR-664534
Mon10May 21 TO Wed12May 21

Where

Tech Data ILO UK
Connection details will be communicated separately
Instructor Led
Online

Code

TR-664535

Overview

This course is designed to teach the students how to prevent SQL performance problems and how to improve the performance of existing SQL.

Audience

This course is for Db2 12 for z/OS application developers, Db2 12 for z/OS DBAs, and anyone else with a responsibility for SQL performance and tuning in a Db2 12 for z/OS environment.

Prerequisites

  • Familiarity with SQL
  • Familiarity with Db2 12 for z/OS
  • Familiarity with Db2 12 for z/OS application programming

Objective

After completing this course, students will be able to:

  • Understand and design better indexes
  • Determine how to work with the optimizer (avoid pitfalls, provide guidence)
  • Optimize multi-table access
  • Work with subqueries
  • Avoid locking problems
  • Use accounting traces and other tools to locate performance problems in existing SQL
  • and more

Course Outline

Introduction to SQL performance and tuning
• Performance issues
• Simple example
• Visualizing the problem
• Summary

Performance analysis tools
• Components of response time
• Time estimates with VQUBE3
• SQL EXPLAIN
• The accounting trace
• The bubble chart
• Performance thresholds

Index basics
• Indexes
• Index structure
• Estimating index I/Os
• Clustering index
• Index page splits

Access paths
• Classification
• Matching versus Screening
• Variations
• Hash access
• Prefetch
• Caveat

More on indexes
• Include index
• Index on expression
• Random index
• Partitioned and partitioning, NPSI and DPSI
• Page range screening
• Features and limitations

Tuning methodology and index cost
• Methodology
• Index cost: Disk space
• Index cost: Maintenance
• Utilities and indexes
• Modifying and creating indexes
• Avoiding sorts

Index design
• Approach
• Designing indexes

Advanced access paths
• Prefetch
• List prefetch
• Multiple index access
• Runtime adaptive index

Multiple table access
• Join methods
• Join types
• Designing indexes for joins
• Predicting table order

Subqueries
• Correlated subqueries
• Non-correlated subqueries
• ORDER BY and FETCH FIRST with subqueries
• Global query optimization
• Virtual tables
• Explain for subqueries

Set operations (optional)
• UNION, EXCEPT, and INTERSECT
• Rules
• More about the set operators
• UNION ALL performance improvements

Table design (optional)
• Number of tables
• Clustering sequence
• Denormalization
• Materialized query tables (MQTs)
• Temporal tables
• Archive enabled tables

Working with the optimizer
• Indexable versus non-indexable predicates
• Boolean versus non-Boolean predicates
• Stage 1 versus stage 2
• Filter factors
• Helping the optimizer
• Pagination

Locking issues
• The ACID test
• Reasons for serialization
• Serialization mechanisms
• Transaction locking
• Lock promotion, escalation, and avoidance

More locking issues (optional)
• Skip locked data
• Currently committed data
• Optimistic locking
• Hot spots
• Application design
• Analyzing lock waits

Massive batch (optional)
• Batch performance issues
• Buffer pool operations
• Improving performance
• Benefit analysis
• Massive deletes



FAQs

What do I need to bring with me to my public class?

All required learning materials and equipment are provided in the classroom.

 

 

 

 

When do public training course fees have to be paid?

For public training classes payment must be received no later than three business days prior to the first day of class in order to remain in the class and confirm your seat. Failure to provide payment by this date may result in removal from the class, and/or late cancellation fees applied. You can submit payment in the form of a Purchase Order or credit card.

 

 

 

 

On-site (private) Course Pricing:

To find out more about On-site training e-mail us at enablement@agilesolutions.co.uk or call one of our offices.

 

 

 

 

What is the cancellation policy?

Requests for cancellations or date transfers need to be received at least ten (10) business days prior to the event start date in order to receive a full refund. If a cancellation or reschedule request is received less than ten (10) business days before the start date, the penalty of 100% of the cost of the course will be applied, resulting in no amount of the fee being refunded. Refunds will not be allowed for “no-shows” in our public training or IVA courses. This cancellation policy is strictly enforced.

 

 

 

 

What happens if Agile Solutions needs to cancel or reschedule a course?

Agile Solutions reserves the right to cancel events for any reason at any time. Cancellation liability for Agile Solutions, if Agile Solutions cancels the course, is limited to the return of course payment ONLY. Agile Solutions will not reimburse registrants for any other costs including but not limited to any travel cancellation fees or penalties, including airfare and hotel costs. PLEASE NOTE: If your registration status is either “Approved”, or “Pending Payment” you have not been confirmed for the class and it is recommended that you do not make any travel arrangements until you have received a confirmation e-mail letting you know the class and registration is confirmed.

 

 

 

 

How will I know if my course has been rescheduled?

Agile Solutions reserves the right to reschedule or cancel a course due to low enrollment or if necessitated by other circumstances. Agile Solutions will contact you via e-mail or phone to inform you of the change of schedule. Once you have been notified you may reschedule or receive a full credit. Agile Solutions shall not be liable for any other costs including but not limited to any non-refundable travel arrangements if a course is rescheduled or cancelled.