Db2 for z/OS SQL performance
Kwaliteit en efficiëntie is voor applicatieontwikkelaars een hoofdbekommernis; dit geldt uiteraard ook voor alle aspecten van datatoegang. Na het volgen van deze cursus weet u hoe de Db2-optimizer in staat is, SQL-queries zo optimaal mogelijk te implementeren, en kan u een aantal technieken toepassen om de performance van queries nog verder te verbeteren.
Query-optimalisatie en een goede concurrency worden benadrukt. Er wordt verder ook ingegaan op aspecten van logisch en fysiek ontwerp en op de statistische informatie in de Db2-catalog die door de optimizer wordt gebruikt.
De cursisten krijgen tijdens de praktische sessies uitgebreid de kans om alle besproken technieken in te oefenen.
Kalender
datum | duur | taal | plaats | prijs | |
16 dec | 3 | web based | 1875 EUR (excl. BTW) | ||
16 dec | 3 | Leuven | 1875 EUR (excl. BTW) | ||
SESSIE-INFO EN INSCHRIJVEN |
Doelgroep
Applicatieontwikkelaars, analisten en database-administrators. Verder de personen die belast zijn met de optimalisatie van ad-hoc queries in bijvoorbeeld een infocenteromgeving, of de queries die gebruikt worden in de context van een Data Warehouse.
Voorkennis
Kennis van Db2 (cf. cursus Db2 for z/OS basiscursus) en van SQL (cf. cursussen SQL en relationele databases: basiskennis en SQL workshop).
Inhoud
- Strategie: fasen, acties en benodigde informatie
- Logisch design en fysieke structuren: normalisatie en denormalisatie • optimale implementatie van tablespaces, indexen en tabellen
- De catalog: inhoud, betekenis en gebruik van de informatie • update door middel van RUNSTATS of SQL statements • simulatie van de productieomgeving in een testomgeving • soorten statistische informatie, runstats-profielen en optimizer-feedback
- De basis-toegangspaden van Db2: tablespace scan • matching en non-matching indexgebruik • index-only-toegang • list prefetch • direct access via RowID • hash-toegang
- Relatie tussen de SQL-query en de toegangspaden: stage-1 versus stage-2 • multi-index-gebruik • gecorreleerde versus niet-gecorreleerde subqueries • de verschillende join-methoden • invloed van ORDER BY, OPTIMIZE FOR en FETCH FIRST clauses • views en CTEs • materialisatie (work files & in-memory work tables)
- De EXPLAIN-functie: oefeningen in het lezen en interpreteren van de toegangspadbeschrijvingen, zowel voor statische SQL als via de Dynamic Statement Cache (DSC), met en zonder Visual Explain
- Query-optimalisatie: wat weten we over de optimizer? • hoe gebruiken we deze informatie? • hoe een stage-2-predikaat omzetten in een indexeerbaar stage-1-predikaat? • welke filter-factoren veronderstelt de optimizer? • zijn deze realistisch? • hoe kiezen we het optimale alternatief uit een join, een correlated of non-correlated subquery? • hoe bepalen we de juiste index? • hoe beïnvloeden we de keuze van de optimizer? • case studies
- Gebruik van één of meer van de explain-tabellen in het performance-onderzoek: PLAN_TABLE, DSN_STATEMNT_TABLE, DSN_DETCOST_TABLE, DSN_FILTER_TABLE, en DSN_PREDICAT_TABLE
- Gebruik van "hints" (nieuwe stijl) om de Db2-optimizer te beïnvloeden • predicate selectivity
- Gebruik van de "virtuele index"-mogelijkheden voor het uitvoeren van een "what if"-analyse
- Concurrency: keuze van de juiste Db2-parameters, lock levels en locking-strategie
Verloop van de cursus
Klassikale training met praktijkoefeningen.
Duur
3 dagen.
Docent
Peter Vanroose.
Ook interessant
Cursisten van deze training hebben ook volgende cursussen gevolgd:
SESSIE-INFO EN INSCHRIJVEN |