Db2 12 for z/OS SQL Performance and Tuning (CV964G)

 

Résumé du cours

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

A qui s'adresse cette formation

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.

Pré-requis

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

Objectifs

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

Contenu

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
  • Tandom 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

Prix & Delivery methods

Formation en ligne

Durée
3 jours

Prix
  • CHF 2 400,–
Formation en salle équipée

Durée
3 jours

Prix
  • Suisse : CHF 2 400,–

Agenda

Instructor-led Online Training:   Course conducted online in a virtual classroom.

Français

Fuseau horaire : Heure d'été d'Europe centrale (HAEC)

Formation en ligne Fuseau horaire : Heure d'été d'Europe centrale (HAEC)
Formation en ligne Fuseau horaire : Heure d'été d'Europe centrale (HAEC)
Formation en ligne Fuseau horaire : Heure normale d'Europe centrale (HNEC)

Allemagne

Leinfelden-Echterdingen