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

datumduurtaalplaatsprijs 
05 jun3Leuven 1875 EUR (excl. BTW)
05 jun3web based 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.


SESSIE-INFO EN INSCHRIJVEN