Description
At Sixe Engineering we have been providing official IBM training around the world for over 12 years. Get the best training from our specialists in Europe. We have important discounts and offers for two or more students.
Course details
IBM course code: CV964G | Category: DB2 / Db2 V12 |
Delivery: Online & on-site** | Course length in days: 3 |
Target 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.
Desired Prerequisites:
- Familiarity with SQL
- Familiarity with Db2 12 for z/OS
- Familiarity with Db2 12 for z/OS application programming
Instructors
The great majority of the IBM courses we offer are taught directly by our engineers. This is the only way we can guarantee the highest quality. We complement all the training with our own materials and laboratories, based on our experience during the deployments, migrations and courses that we have carried out during all these years.
Added value
Our courses are deeply role oriented. To give an example, the needs for technology mastery are different for developer teams and for the people in charge of deploying and managing the underlying infrastructure. The level of previous experience is also important and we take it very seriously. That is why beyond (boring) commands and tasks, we focus on solving the problems that arise in the day to day of each team. Providing them with the knowledge, competencies and skills required for each project. In addition, our documentation is based on the latest version of each product.
Agenda and course syllabus
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
Do you need to adapt this syllabus to your needs? Are you interested in other courses? Ask us without obligation.
Locations for on-site delivery
- Austria: Vienna
- Belgium: Brussels, Ghent
- Denmark: Cophenhagen
- Estonia: Tallinn
- Finland: Helsinki
- France: Paris, Marseille, Lyon
- Germany: Berlin, Munich, Cologne, Hamburg
- Greece: Athens, Thessaloniki
- Italy: Rome
- Louxemburg: Louxembourg (city)
- Netherlands: Amsterdam
- Norway: Oslo
- Portugal: Lisbon, Braga, Porto, Coimbra
- Slovakia: Bratislava
- Slovenia: Bratislava
- Spain: Madrid, Sevilla, Valencia, Barcelona, Bilbao, Málaga
- Sweden: Stockholm
- Turkey: Ankara
- United Kingdom: London