DB2 LUW V9.7 – SQL Umformulieren von Queries und Tuning Code: DB2LUW97/ SQL_QRYTun Das Umschreiben von SQL Queries ist nicht selbsterklärend und keineswegs trivial. Dennoch muss zu solchen Maßnahmenn gegriffen werden, will man optimale Performance aus seinen Applikationen erwarten. Hierzu muss zum Einen das gesamte Spektrum von SQL bekannt sein, damit man in jedem Fall die Query formulieren kann, die möglichst wenige DB2-Ressourcen verbraucht und zum Anderen muss man die Arbeitsweise des Optimizers kennen, um ihm die SQL’s, die für ihn schwer zu beurteilen sind, „mundgerecht“ vorsetzen zu können. Dies ist umso wichtiger, je mehr Daten bewegt werden sollen und je häufiger die Query zum Einsatz kommt. Die Teilnehmer müsen sich nun nicht nur mit den Eigenheiten des DB2 Optimizers auseinandersetzen, um effiziente SQL Queries zu produzieren. Sie müssen auch die richtigen Query-Konstrukte erstellen können, um DB2 optimale Zugriffe zu ermöglichen. Das sind Themen dieses Workshops für fortgeschrittene „SQL-Könner“. Teilnehmer: alle, die DB2 V9.7 SQL kennen und tiefgehende SQL Erfahrung haben... Voraussetzungen: Teilnahme am Workshop DB2 LUW V9.7 – SQL Tuning und langjährige Erfahrung mit SQL Themen zum Workshop DB2 V9.7 “SQL Umformulieren von Queries und Tuning” Intro Voraussetzungen für performante SQL‘s SQL Sprache und Sprachumfang SQL Sprache – „logicals“ – Möglichkeiten der Umformulierung Grundsätzliche Empfehlungen zu DB2-SQL Techniken zum Verändern von DB2-SQL-Queries Modifikation von SQL-Statements Restrukturierung von UNION- durch CASE-Ausdrücke Unterstützung von UNION- durch physisches DB-Design Spezielle Techniken „existence checks“ mit SQL DB2-SQL-Queries und SORTs ORDER BY und SORT-Vorgänge bei DB2 Nutzung von „storage“ Ressourcen für SORTs JOIN’S UND OUTER JOIN’S SKC GmbH 2012 Warum Joins von Bedeutung sind? Die Join Syntax ON vs WHERE Klausel Die Join Typen und die Kodierung der Join Typen in DB2 SQL Bemerkungen und Überlegungen zu Joins Prädikate und Joins - Beachtenswertes “Binary Matching” Operationen 1 Der NESTED-LOOP JOIN Algorithmus Der MERGE-JOIN Algorithmus Der HASH JOIN Algorithmus Einsatz des „cartesian join“ („star-join“) "Access Path"-Auswahl beim "nested loop" Join – Performancetipps "Access Path"-Auswahl beim "merge scan" Join – Performancetipps Beschreibung weiterer OPTIMIERUNGSTECHNIKEN Die Verarbeitung von Prädikaten bei DB2 „Sargeable“ & „indexable predicates“ Prädikate und Indexsuche (Beispiele bestimmter Prädikatstypen) Umformulieren der Prädikate auf „sargeable & indexable predicates“ Performanceunterstützung ab DB2 V9 mehr PERFORMANCE für SQL-Operationen in Programmen mehr PERFORMANCE für Modifikationsoperationen Gestern, heute, morgen – Datumsarithmetik in DB2 Spezielle Techniken und Phrasen zur Beeinflußung der Pfadauswahl bei DB2 Die Informationen über Zugriffspfade Minimieren des "overhead" durch Anfordern von wenigen "rows" Nutzung der "cardinality" Klausel Reduzieren der Anzahl "matching columns" Neuordnen der Tabellenreihenfolge Do’s and Don’ts bei SQL in Kürze Grundsätzliche Empfehlungen(Regeln) zu SQL Tipps und Hinweise - allgemein Tipps und Hinweise – zu ORDER BY und GROUP BY Tipps und Hinweise – zum JOIN-Tuning Tipps und Hinweise – zum Subquery Tuning Preis: --,-- Dauer: 6 Stunden Methode: Vortrag mit Interaktion, „rauchenden Köpfen“ ...und Kontrollaufgaben