Özet
Hedefler
Topics
Diğer Eğitimler

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

Hedefler:

  • 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

Topics:

  • Introduction to SQL performance and tuning

  • Performance issues• Simple example

  • Visualizing the problem

  • SummaryPerformance analysis tools

  • Components of response time

  • Time estimates with VQUBE3

  • SQL EXPLAIN

  • The accounting trace

  • The bubble chart

  • Performance thresholdsIndex basics

  • Indexes• Index structure

  • Estimating index I/Os

  • Clustering index

  • Index page splitsAccess paths

  • Classification

  • Matching versus Screening

  • Variations

  • Hash access

  • Prefetch

  • CaveatMore on indexes

  • Include index

  • Index on expression

  • Random index

  • Partitioned and partitioning, NPSI and DPSI

  • Page range screening

  • Features and limitationsTuning methodology and index cost

  • Methodology

  • Index cost: Disk space

  • Index cost: Maintenance

  • Utilities and indexes

  • Modifying and creating indexes

  • Avoiding sortsIndex design

  • Approach

  • Designing indexesAdvanced access paths

  • Prefetch

  • List prefetch

  • Multiple index access

  • Runtime adaptive indexMultiple table access

  • Join methods

  • Join types

  • Designing indexes for joins

  • Predicting table orderSubqueries

  • Correlated subqueries

  • Non-correlated subqueries

  • ORDER BY and FETCH FIRST with subqueries

  • Global query optimization

  • Virtual tables

  • Explain for subqueriesSet operations (optional)

  • UNION, EXCEPT, and INTERSECT

  • Rules

  • More about the set operators

  • UNION ALL performance improvementsTable design (optional)

  • Number of tables

  • Clustering sequence

  • Denormalization

  • Materialized query tables (MQTs)

  • Temporal tables

  • Archive enabled tablesWorking with the optimizer

  • Indexable versus non-indexable predicates

  • Boolean versus non-Boolean predicates

  • Stage 1 versus stage 2

  • Filter factors

  • Helping the optimizer

  • PaginationLocking issues

  • The ACID test

  • Reasons for serialization

  • Serialization mechanisms

  • Transaction locking

  • Lock promotion, escalation, and avoidanceMore locking issues (optional)

  • Skip locked data

  • Currently committed data

  • Optimistic locking

  • Hot spots

  • Application design

  • Analyzing lock waitsMassive batch (optional)

  • Batch performance issues

  • Buffer pool operations

  • Improving performance

  • Benefit analysis

  • Massive deletes