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 
19 apr3web based 1575 EUR (excl. BTW)
21 jun3web based 1575 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.

Reviews

4.1/5 (gebaseerd op 21 evaluaties; de meest recente worden hieronder getoond)

Goeie uitleg ivm werking optimizer & explain

 
  (, )

Ik ben niet echt representatief omdat het een cursus voor gevorderden was, terwijl ik nihil wat van D2 c.q. SQL weet; het was voor mij meer een cursus om wat inzicht te krijgen zodat het mij wat zegt.

 
  (, )

Goed, vriendelijke docent, die op iedere vraag die er leefde uitgebreid in ging

 
  (, )

Cursus is goed in orde

 
  (, )

Ik heb een goed inzicht gekregen in de nieuwe mogelijkheden van DB2. Peter weet ook heel veel en geeft (soms zelfs teveel) achtergrondinformatie.

 
  (, )

Le formateur connait très bien la matière et sait la communiquer

 
  (, )

interesting and useful for my function

 
  (, )

Plutot bonne. J'ai appris pas mal de choses sur DB2.

 
  (, )

Klik hier om meer commentaren te zien...

le cours correspondait a mes attentes

 
  (, )

SESSIE-INFO EN INSCHRIJVEN