KAPITEL 5 ANFRAGEOPTIMIERUNG. h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 1
|
|
- Karoline Hermann
- vor 7 Jahren
- Abrufe
Transkript
1 KAPITEL 5 ANFRAGEOPTIMIERUNG h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 1
2 Einordnung in die 5-Schichten-Architektur Datensystem Mengenorientierte Schnittstelle Satzorientierte Schnittstelle Zugriffssystem Interne Satzschnittstelle Speichersystem Systempufferschnittstelle Pufferverwaltung Dateischnittstelle Betriebssystem Externspeicher Geräteschnittstelle h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 2
3 Anfrageoptimierung Inhalte des Kapitels Prinzipieller Ablauf der DB-Anfrageauswertung Standardisierung und Vereinfachung von DB-Anfragen Logische Optimierung Physische Optimierung und kostenbasierte Auswahl Beeinflussung der Ausführung von DB-Anfragen durch den DBA in relationalen DBMS Lernziele Kenntnis des prinzipiellen Ablaufs der DB-Anfrageauswertung Verstehen der Optimierungsziele und der Unterschiede zwischen logischer und physischer Optimierung h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 3
4 Basissprachen SQL Relationenkalküle hier: Relationenalgebra Grundprinzipien Ziel der Optimierung möglichst schnelle Anfragebearbeitung möglichst wenig Seitenzugriffe bei der Anfragebearbeitung möglichst in allen Operationen so wenig wie möglich Seiten (Tupel) berücksichtigen h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 4
5 Auswertung von DB-Anfragen 1(4) 1. Übersetzung und Sichtauflösung Erstellung eines Anfragegraphens Überprüfung auf korrekte Syntax Auflösen von Sichtdefinitionen und externen Namen Feststellen der Existenz und Gültigkeit der referenzierten Tabellen und Attribute 2. Standardisierung und Vereinfachung Überführung des Anfragegraphen in eine Normalform Elimination von Redundanzen h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 5
6 Auswertung von DB-Anfragen 2(4) 3. Optimierung Logische Optimierung (auch algebraische Optimierung bzw. regelbasierte Optimierung) Anfrageplan unabhängig von der konkreten Speicherungsform umformen (z.b. Hineinziehen von Selektionen in andere Operationen) Physische Optimierung (auch interne Optimierung) konkrete Speicherungstechniken (Indexe, Cluster) berücksichtigen Algorithmen auswählen mehrere alternative interne Pläne erstellen Kostenbasierte Auswahl Statistikinformationen (Größe von Tabellen, Selektivität von Attributen) für die Auswahl eines konkreten internen Planes nutzen h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 6
7 Auswertung von DB-Anfragen 3(4) 4. Planparametrisierung bei vorkompilierten Anfragen (etwa Embedded-SQL, PreparedStatement in JDBC etc.): Ersetzen der Platzhalter durch Werte 5. Code-Erzeugung Umwandlung des Zugriffsplans in ausführbaren Code interne, binäre Repräsentation der Anfrage, die interpretiert wird (vgl. Java Byte Code) JIT (just-in-time) Compiler 6. Ausführung h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 7
8 Auswertung von DB-Anfragen 4(4) Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 8
9 1. Übersetzung und Sichtauflösung Zunächst Parsen der SQL-Anfrage (syntaktische Korrektheit) Parse-Baum danach Übersetzung in Relationenalgebra: Transformationsregeln Relationen der Tabellenliste hinter from untereinander durch Kreuzprodukt verknüpfen Bedingung im where-teil als Selektion übernehmen Spaltenliste hinter select als abschließende Projektion zusätzlich noch Berücksichtigung von SQL-Konstrukten wie order by, group by Auflösen von Unteranfragen Operatorbaum Operatoren als Knoten Kanten repräsentieren Datenfluss h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 9
10 Parse-Baum Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 10
11 Übersetzung in Relationenalgebra (Operatorbaum) select KNr, Nachname from BESTELLUNG, KUNDE where BESTELLUNG.KNr = KUNDE.KNr AND Datum > Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 11
12 Auflösung von Sichten Sichtexpansion: Einsetzen der Sichtdefinition in Anfrage im Operatorbaum rekursiver Prozess: Sichten über Sichten möglich Beispiel: select BestNr, KNr from BESTELL_INFO where Datum > ' ' and Bezeichnung = ' Arabica Black' wobei BESTELL_INFO eine Sicht über die Tabellen Produkt, Bestellung und Kunde ist, welche BestNr, KNr, Datum und Bezeichnung für jede Bestellung liefert Operatorbaum vor Sichtauflösung? Operatorbaum nach Sichtauflösung? h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 12
13 auch so kann eine SQL-Anfrage aussehen Generierte SQL-Anfrage - durch Tool zur Entscheidungsunterstützung (Online Analytical Processing, OLAP) und GUI- Nutzung erzeugt Quelle: Härder/Rahm:1999 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 13
14 2. Standardisierung und Vereinfachung Vereinfachung der nachfolgenden Optimierungsschritte durch ein einheitliches (kanonisches) Anfrageformat: auf Ausdrucksebene (Bedingungen): Normalformen, Entfernen redundanter Ausdrücke auf Anfrageebene: Entschachtelung (Unteranfragen im where-teil) zur Vereinfachung: Erkennen von gemeinsamen Teilen u.ä. h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 14
15 Standardisierung von Ausdrücken speziell für Selektions- und Verbundbedingungen konjunktive Normalform vs. disjunktive Normalform konjunktive Normalform (KNF) für einfache Prädikate p ij : (p 11 V p 12 V V p 1n ) Λ Λ (p m1 V p m2 V V p mn ) disjunktive Normalform (DNF): (p 11 Λ p 12 Λ Λ p 1n ) V V (p m1 Λ p m2 Λ Λ p mn ) Überführung in KNF/DNF durch Anwendung von Äquivalenzbeziehungen für logische Operationen h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 15
16 Äquivalenzbeziehungen p 1 Λ p 2 p 2 Λ p 1 und p 1 V p 2 p 2 V p 1 Normalisierung p 1 Λ (p 2 Λ p 3 ) (p 1 Λ p 2 ) Λ p 3 und p 1 V (p 2 V p 3 ) (p 1 V p 2 ) V p 3 p 1 Λ (p 2 V p 3 ) (p 1 Λ p 2 ) V (p 1 Λ p 3 ) und p 1 V (p 2 Λ p 3 ) (p 1 V p 2 ) Λ (p 1 V p 3 ) (p 1 Λ p 2 ) p 1 V p 2 und (p 1 V p 2 ) p 1 Λ p 2 ( p 1 ) p 1 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 16
17 Normalisierung: Beispiel select * from KUNDE K, BESTELLUNG B where K.KNr = B.KNr and Menge > 10 and (LName = 'Coffeeshop' or LName = 'Kaffeebude'); Selektionsbedingung in KNF: (K.Nr = B.KNr) Λ (Menge > 10) Λ (LName = Coffeeshop V LName = Kaffeebude ) Selektionsbedingung in DNF: (K.KNr = B.KNr Λ Menge > 10 Λ LName = Coffeeshop ) V (K.KNr = B.KNr Λ Menge > 10 Λ LName = Kaffeebude ) Üblicherweise wird KNF bevorzugt, da damit eine einfache Zerlegung komplexer Bedingungen in Folgen von Selektionen möglich ist später: zuerst Konjunkt abarbeiten, welches mit Index-Scan ausgewertet werden kann h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 17
18 Idempotenzen A V A A A Λ A A A V A true A Λ A false Vereinfachung von Ausdrücken Konstantenpropagierung Ausnutzung von Transitivität Bsp.: A Θ B Λ B = c A Θ c unerfüllbare Ausdrücke A > B Λ B >= C Λ C > A A > A false h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 18
19 Phasen der Auswertung von DB-Anfragen 1. Übersetzung und Sichtauflösung 2. Standardisierung und Vereinfachung 3. Optimierung Logische Optimierung (algebraische Optimierung, regelbasierte Optimierung) Physische Optimierung (interne Optimierung) Kostenbasierte Auswahl 4. Planparametrisierung 5. Code-Erzeugung 6. Ausführung h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 19
20 Logische (algebraische) Optimierung 1(2) Termersetzung von Termen der Relationenalgebra anhand von Algebraäquivalenzen heuristische Methode: Operationen verschieben, um kleinere Zwischenergebnisse zu erhalten; Redundanzen erkennen Zur Erinnerung: Äquivalenzen der Relationenalgebra r s = s r (r s) t = r (s t) P ( Q (r)) = P Λ Q (r)) = Q ( P (r)) B ( A (r)) = B (r) falls B A P ( A (r)) = A ( P (r)) mit attr(p) A P (r s) = P (r ) s falls attr(p) r P (r s) = P1 (r ) P2 (s) falls attr(p 1 ) r und attr(p 2 ) s und P = P 1 Λ P 2 Weitere Regeln für Mengenoperatoren, Kombination von Operatoren, h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 20
21 Logische (algebraische) Optimierung 2(2) Anwenden der Äquivalenzregeln der Relationenalgebra: Wichtigste Regeln für Restrukturierung und Transformation: Frühzeitige Ausführung von Selektion (σ) und Projektion (π) ohne Duplikateliminierung, d.h. Selektionen und Projektionen möglichst weit in Richtung der Blätter verschieben Unäre Operatorfolgen (wie σ und π) zu einer Operation zusammenzufassen Gleiche Teile im Operatorbaum nur einmal auswerten h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 21
22 Logische (algebraische) Optimierung - Beispiel Beispiel: select BestNr, KNr from BESTELL_INFO where Datum > ' ' and Bezeichnung = ' Arabica Black' wobei BESTELL_INFO eine Sicht über die Tabellen Produkt, Bestellung und Kunde ist, welche BestNr, KNr, Datum und Bezeichnung für jede Bestellung liefert Phase 1: Übersetzung und Sichtauflösung + Phase 2: Standardisierung und Vereinfachung > h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 22
23 Beispiel: Anfrageplan ohne Optimierung Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 23
24 Beispiel: Anfrageplan mit Optimierung 1(2) Verschieben der Selektion und Zusammenfassen der Projektionen Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 24
25 Beispiel: Anfrageplan mit Optimierung 2(2) Zusätzliche Projektionen und was noch? Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 25
26 Physische Optimierung Bis jetzt wurden nur logische Operationen betrachtet ohne Berücksichtigung der Realisierungsform und ohne Berücksichtigung von eventuell vorhandenen Zugriffspfaden Auswahl von Berechnungsalgorithmen Selektion Selektion durch Relationen-Scan Selektion über Index Projektion Projektion durch Relationen-Scan mit/ohne Duplikateleminierung über sortierte/unsortierte Relation Verbund Verbund durch Nested-Loops Verbund durch Mischen Verbund durch Hash-Join Gruppierung Gruppierung durch Sortierung durch Hashing h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 26
27 Beispiel: Ausführungsplan 1(2) select * from BESTELLUNG where ProdNr = 42 and (LName = 'Kaffeebude' or LName = 'CoffeeShop') and Menge < 10 Ausführungsplan Variante 1: mit F = (ProdNr = 42) Λ (LName = Kaffeebude V LName = CoffeeShop ) Λ Menge < 10 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 27
28 Beispiel: Ausführungsplan 2(2) Variante 1 Variante 2 Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 28
29 Physische Optimierung: Kostenmodell Welchen Ausführungsplan auswählen? Kostenmodelle zur Abschätzung bzw. Berechnung der Kosten eines Ausführungsplan Kostenfunktion: zur Abschätzung der Kosten für Ausführung von Operationen bzw. Anfragen (siehe auch voriges Kapitel Basisalgorithmen für Datenbankoperationen) Statistiken: über Größe der Relationen (Kardinalität, Tupelgröße), Wertebereiche und -verteilungen Kostenformeln: zur Berechnung der Größen von (Zwischen-)Ergebnissen auf der Basis der Statistiken Hier nur Darstellung der Grundprinzipien(!) keine detaillierte Betrachtung für eine ausführliche Darstellung sei auf Saake/Heuer/Sattler:2005 verwiesen h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 29
30 Kostenarten: Kostenfunktion I/O-Kosten: verursacht durch das Lesen und Schreiben von Blöcken vom bzw. auf den Externspeicher CPU-Kosten: für interne Berechnungen, Vergleiche etc., Kommunikationskosten: im Fall verteilter Datenbanksysteme üblicherweise: cost = cost IO + W cost CPU Faktor W zur Kalibrierung bzgl. Hardware h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 30
31 Idee: Kostenformeln Gesamtaufwand durch Abschätzung der Kardinalitäten der Zwischenergebnisse Kardinalität über Selektivität der Operatoren Selektivität sel = Erwartete Größe des Ergebnisses Kardinalität der Eingangsrelation Annahmen: Gleichverteilung, Unabhängigkeit der Attribute Beispiel für Selektion: σf ( r ) sel( F, r ) Abschätzung (für interpolierbare, arithmetische Werte): r sel( A v, r ) 1 vala, r sel( A v, r ) A A max max v A min sel( A v, r ) v A max A A min min sel ( A betweenv1 and v2, r ) v A 2 max v1 A min h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 31
32 Statistiken Problem: Annahme der Gleichverteilung häufig nicht korrekt Verbesserung der Abschätzungen Parametrisierte Funktionen: Parameter einer Funktion zur Annäherung der Datenverteilung (z.b. Normal- oder Zipf-Verteilung) Stichprobe: Selektivität anhand einer zufälligen Stichprobe bestimmen Histogramme: Approximationen der tatsächlichen Verteilung h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 32
33 Histogramme: Prinzip Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 33
34 Arten von Histogrammen 1(2) sehr viele verschiedene Arte von Histogrammen 2 der wichtigsten Histogramm-Arten: Equi-width und Equi-depth (Equi-height) Histogramme Beispiel: Equi-width Histogramm Equi-depth / Equi-height Histogramm Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 34
35 Häufigkeit Arten von Histogrammen 2(2) Weitere wichtige Histogramm-Art: Compressed-Histogramm Prinzip: die k-höchsten Attributwerte werden getrennt von den anderen in 1-elementigen Buckets gespeichert die anderen in equi-width (oder equi-height) Wertbereich von Preis h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 35
36 Aufbau und Pflege von Histogrammen Ziel: Histogramm sollte tatsächliche Verteilung widerspiegeln auch nach Updates statischer Ansatz: expliziter Aufbau, keine Berücksichtigung von Änderungen dynamischer Ansatz: Anpassung der Histogramme Verwaltung einer Stichprobe (sampling) der Relation und Abbildung der Änderungen auf Stichprobe Query Feedback: Nutzung von Anfrageergebnissen zur Anpassung h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 36
37 Oracle: Optimizer und Statistiken bis Oracle 9: Auswahl zwischen regelbasierter (logischer) und kostenbasierter (physischer) Optimierung ab Oracle 10: grundsätzlich kostenbasierte Optimierung führen von Statistiken notwendig bis Oracle 9: manuelle Entscheidung, für welche Tabellen Statistiken berechnet (compute) bzw. geschätzt (estimate) werden und für welche Spalten Histogramme erstellt werden ab Oracle 10: wegen kostenbasierter Optimierung werden Statistiken automatisch vom DBMS geführt (trotzdem noch Möglichkeit, manuell einzugreifen Parameter statistics_level = { all typical basic } ) Aktualisierung der Statistiken: zu festgelegten Zeiten in Wartungsfenstern h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 37
38 Oracle: Statistiken kostenrelevante Informationen für Tabellen: (in View user_tables bzw. user_tab_statistics) Anzahl der Tupel (num_rows) Anzahl der belegten Blöcke (num_blocks) durchschnittliche Tupellänge (avg_row_len) für Spalten (in View user_tab_col_statistics) Anzahl der verschiedenen Werte (num_distinct) Anzahl der Nullwerte (num_nulls) Art des Histogramms (histogram) Anzahl der Buckets im zugehörigen Histogramm (num_buckets) für Indexe (in View user_indexes) Anzahl der Blattseiten (leaf_blocks) Anzahl der Indexebenen (blevel) Cluster-Faktor (clustering_factor) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 38
39 Arten von Histogrammen Oracle: Histogramme Equi-depth (height-balanced genannt) Compressed-Variante (frequency genannt) Jeder(!) Wert der Spalte hat korrespondierendes Bucket mit Häufigkeit des Wertes Anwendung, wenn Anzahl der verschiedenen Werte der Spalte Anzahl der Buckets Auswahl der Histogramm-Art in Abhängigkeit von Häufigkeit der Werte h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 39
40 Oracle: Planausgabe 1(2) Prinzip: Ausführungsplan für ein SQL-Statement kann mit explain plan erzeugt (dabei wird das Statement NICHT ausgeführt): explain plan [ set statement_id = 'test' ] for SQL-Anweisung Erzeugter Ausführungsplan wird in Tabelle plan_table (> 30 Attribute) gespeichert und kann angezeigt werden: select lpad(' ',2*level) operation ' ' options ' ' object_name as q_plan from plan_table where statement_id = 'test' connect by prior id = parent_id and statement_id = 'test' start with id = 1; Alternative 1: Hilfsprogramm utlxpls.sql (gibt letztes in plan_table gespeichertes Statement aus) Alternative 2: grafische Ausgabe über Oracle SQL Developer h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 40
41 Oracle: Planausgabe 2(2) Seit Oracle10 auch mit Kostenangaben Beispiel: select buch.isbn, count(*) from buch, autor where buch.isbn = autor.isbn group by buch.isbn having count(*) > 2; Planausgabe h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 41
42 Oracle: Optimierungsziele Angabe von Optimierungszielen möglich all_rows: Optimierung bezüglich der Zeit der Bereitstellung des Gesamtergebnisses first_rows (n): Optimierung bezüglich der Zeit der Bereitstellung der ersten n Tupel des Gesamtergebnisses Das Optimierungsziel kann direkt im Statement angegeben werden: select /*+ first_rows(10) */ AngNr, Name from Angestellte where AbtNr = 20; oder für die ganze Session gesetzt werden: alter session set optimizer_goal = first_rows; h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 42
43 Oracle: Hints für den Optimizer Angabe von Hints für den Optimizer möglich: select /*+ Hint-Liste */ Attribute from... Auswahl konkreter Algorithmen (z.b. use_nl für Nested-Loops-Verbund, use_merge für Merge-Verbund, use_hash für Hash-Verbund) Verwendung oder Nichtverwendung von Indexen (z.b. index für einen bestimmten Index, full für Erzwingung eines Full-Table-Scans) Reihenfolge der Berechnung z.b. von Mehrfachverbunden (ordered für die Vorgabe der Verbundreihenfolge entsprechend der from-klausel) und vieles mehr Beispiel: select /*+ full(p) */ ProdNr, Bezeichnung from PRODUKT p where ProdNr = ; h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 43
44 DB2: Optimizer und Statistiken Auswahl von 7 verschiedenen Optimierungsklassen (dadurch Entscheidung, ob regelbasiert oder kostenbasiert und welche Regeln bzw. welche Statistiken verwendet werden) Statistiken: manuelle Entscheidung, für welche Tabellen Statistiken geführt werden und in welchem Umfang Informationen nur über Tabelle zusätzlich Histogramme (auf allen oder ausgewählten Spalten) zusätzlich (oder ausschließlich) Indexstatistiken (auf allen oder ausgewählten Indexen) runstats on table <tablename> [ with distribution [ on columns <columlist> ] ] [and [ [ sampled unsampled ] detailed ] indexes for [ [ sampled unsampled ] detailed ] indexes ] h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 44
45 DB2: Statistiken für Tabellen: (in View syscat.tables) Anzahl (Kardinalität) der Tupel (card) Anzahl der Seiten der Relation (fpages) Anzahl der tatsächlich genutzten Seiten der Relation (npages) Anzahl der Überlauf-Records der Relation (overflow) für Spalten (in View syscat.columns) Anzahl der verschiedenen Werte (colcard) Durchschnittsgröße der Spaltenwerte (avgcollen) Anzahl der Nullwerte (numnulls) Zweithöchster Wert (high2key) Zweitniedrigster Wert (low2key) für Indexe (in View syscat.indexes) Anzahl der Blattseiten (nleaf) Anzahl der Indexebenen (nlevels) Cluster-Faktor (clusterratio) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 45
46 DB2: Histogramme Kombination aus Compressed- und Equi-depth-Histogramm k häufigsten Werte werden in Einzel-Buckets abgelegt die anderen Werte werden in Quantilen verwaltet: Speicherung der kumulativen Häufigkeiten (dem Wert an der i-ten Position wird die Anzahl aller Tupel, die kleiner oder gleich diesem Wert sind, zugeordnet) Parameter num_freqvalues: Anzahl der Werte im Compressed-Histogramm (Standardwert 10) num_quantiles: Anzahl der Quantile im Equi-depth-Histogramm (Standardwert 20) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 46
47 DB2: Sampling runstats on table <tablename> [ with distribution [ on columns <columlist> ] ] [and [ [ sampled unsampled ] detailed ] indexes for [ [ sampled unsampled ] detailed ] indexes ] Beispiele RUNSTATS ON TABLE employee WITH DISTRIBUTION ON COLUMNS (empid, empname) RUNSTATS ON TABLE employee AND DETAILED INDEXES ALL seit Version 10.1 ist für Indexe SAMPLED die Default-Variante Sampling kann genauer spezifiert werden (Menge und Auswahlalgorithmus) RUNSTATS ON TABLE employee WITH DISTRIBUTION AND DETAILED INDEXES ALL TABLESAMPLE SYSTEM(20) INDEXSAMPLE SYSTEM(30) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 47
48 DB2: Optimierungsklassen Auswahl einer Optimierungsklasse durch prep queryopt und bind queryopt für Embedded SQL bzw. set current query optimization = klasse für interaktive Anfragen 7 (früher 10) Klassen Auswahl der wichtigsten Klassen: Klasse 0: minimale Optimierung Klasse 1: keine Auswertung von Attributwertverteilungen zur Selektivitätsabschätzung Klasse 2: Auswertung von Attributwertverteilungen Klasse 5: Standardeinstellung Klasse 9: alle Optimierungstechniken (nur für komplexe, vorübersetzte Anfragen in Embedded-SQL-Programmen) Außerdem möglich: optimize for-klausel am Ende eines SFW-Blocks zur Spezifikation der Anzahl der zu lesenden Tupel h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 48
49 DB2: Aktualisierung der Statistiken Aktualisierung der Statistiken manuell (Ausführen des Kommandos runstats) ab Version 8.2 auch automatisch (abhängig von Veränderungen auf dem Datenbestand und Server-Last) was ist die Herausforderung? ab Version 8.2 außerdem LEO (Learning Optimizer) Vergleich der abgeschätzten Kardinalitäten mit den tatsächlichen Ergebnissen (siehe nächste Folie) Speicherung eines Anpassungsfaktors Warum nicht direkt Aktualisierung der Statistiken? h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 49
50 DB2: LEO (Learning Optimizer) Quelle: V. Markl, G. M. Lohman, V. Raman LEO: An autonomic query optimizer for DB2, IBM SYSTEMS JOURNAL, VOL 42, NO 1, 2003 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 50
51 Planerstellung aktivieren: DB2: Planausgabe 1(2) set current explain mode = yes explain explain: nur Planerstellung nicht Ausführung der Anfrage Plan für SQL-Anfrage erstellen: explain plan for SQL-Anweisung Grafische (db2expln) und textuelle (db2exfmt) Ausgabe möglich h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 51
52 DB2: Planausgabe 2(2) Beispiel: select produkt.pid, produktname from produkt, bestellung where produkt.pid = bestellung.pid group by produkt.pid, produktname having count(*) > 1000; Planausgabe h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 52
53 Ablauf der Anfrageverarbeitung Zusammenfassung Vereinfachung und Normalisierung von Anfragen Logische (algebraische) Optimierung - query rewriting Physische Optimierung mit Kostenmodell h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 53
54 Architektur von Datenbanksystemen Architektur von Datenbanksystemen Verwaltung des Hintergrundspeichers Dateiorganisation und Zugriffsstrukturen Basisalgorithmen für Datenbank-Operationen Anfrageoptimierung Transaktionsverwaltung und Recovery Verteilte Datenbankarchitekturen h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 5: Anfrageoptimierung 54
Datenbankadministration
Datenbankadministration 8. Anfrageoptimierung II AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Übersicht Vorherige
MehrKAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN
KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 4: Basisalgorithmen für Datenbankoperationen 1 Einordnung in die 5-Schichten-Architektur
MehrAbschluss Einblick und Ausblick
Abschluss Einblick und Ausblick Prof. Dr. T. Kudraß 1 Benutzer Komponenten eines DBMS (Überblick) I/O-Prozessor Output-Generierung Parser für selbst. oder eingebettete Kommandos Precompiler Autorisierungs-Kontrolle
MehrAnfrageoptimierung Ausführungspläne, Hints, Statistikinformationen, IDEs
Anfrageoptimierung Ausführungspläne, Hints, Statistikinformationen, IDEs Peter Matjeschk 05-INDT Fachbereich Informatik, Mathematik und Naturwissenschaften HTWK-Leipzig 19. Juni 2008 Peter Matjeschk (Fb
MehrAnfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1
Anfragebearbeitung Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1 Ablauf der Anfrageoptimierung Deklarative Anfrage (SQL) Scanner Parser Sichtenauflösung Algebraischer Ausdruck
MehrAnfrageoptimierung Kostenabschätzung
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Kostenabschätzung Dr. Thomas Gottron Wintersemester 2012/13 Regel vs. Kostenbasierte Optimierung Bisher: Regeln, wie Optimierung
MehrStar Join & Kostenbasierte Optimierung. Architektur von Datenbanksystemen II
Star Join & Kostenbasierte Optimierung Architektur von Datenbanksystemen II Star Join Übungsaufgabe zum 09.06.2015 JOIN-ALGORITHMUS für folgendes Scenario Große Faktentabelle F mit sehr vielen Einträgen
MehrAnfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis
Anfragebearbeitung Anfrage Übersetzer Ausführungsplan Laufzeitsystem Ergebnis Übersetzung SQL ist deklarativ, Übersetzung für Laufzeitsystem in etwas prozedurales DBMS übersetzt SQL in eine interne Darstellung
MehrOracle 9i Einführung Performance Tuning
Kurs Oracle 9i Einführung Performance Tuning Teil 3 Der Optimizer Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 16 Seite 1 von 16 1. auf Tabellen 2. 3. Optimizer 4. Optimizer RBO 5. Optimizer CBO 6.
MehrAnfrageoptimierung Kostenmodelle
Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Anfrageoptimierung Kostenmodelle Dr. Jérôme Kunegis Wintersemester 2013/14 Regel vs. Kostenbasierte Optimierung
MehrDatenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann
Datenbanksysteme I Anfragebearbeitung und -optimierung 9.1.2008 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)
MehrIndexstrukturen in SQL
Indestrukturen in SQL Anlegen eines Primärinde in SQL: Anlegen eines Sekundärinde in SQL: Bsp: create table Dozenten ( DNr integer primary key, Name varchar(0), Geburt date, ) create [Unique] inde indename
MehrKapitel 10: Relationale Anfragebearbeitung
Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 201/2016 Kapitel 10: Relationale Anfragebearbeitung Vorlesung:
MehrDatenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann
Datenbanksysteme I Anfragebearbeitung und -optimierung 22.6.2009 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)
MehrOptimierung von Datenbanken
Optimierung von Datenbanken Vortrag in Datenbanken II Bettina Keil 19. Juni 2008 Optimierung von Datenbanken 1/17 Gliederung Motivation Optimierung von Datenbanken 2/17 Motivation Performancesteigerung:
MehrKapitel 10: Relationale Anfragebearbeitung
Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2017/2018 Kapitel 10: Relationale Anfragebearbeitung
MehrTeil VI Optimierung von Anfragen
Teil VI Optimierung von Anfragen Überblick 1 Motivation c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 2. Juni 2017 6 1 Überblick 1 Motivation 2 Phasen c Sattler / Saake Datenbank-Implementierungstechniken
MehrAdaptive Anfrageoptimierung
Technische Universität Kaiserslautern Fachbereich Informatik Lehrgebiet Datenverwaltungssysteme Integriertes Seminar Datenbanken und Informationssysteme Wintersemester 2005/2006 Thema: Dependable Adaptive
MehrInhalt. Dr. Frank Haney 17.5.2005 1
Inhalt SQL-Optimierung Grundlagen Logische und physische Optimierung CBO Funktionsweise Entscheidungsgrundlagen Zugriffspfade Statistiken für den Optimizer Initialisierungsparameter Optimizer Hints Dynamic
MehrGrundlagen von Datenbanken. 4. Übung: Algebraische Optimierung
Grundlagen von Datenbanken 4. Übung: Algebraische Optimierung Algebraische Optimierung Ziel Effiziente Ausführung eines algebraischen Ausdrucks Minimierung der Größe von Zwischenergebnissen (das Endergebnis
MehrAnfrageoptimierung Logische Optimierung
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Logische Optimierung Dr. Thomas Gottron Wintersemester 2012/13 Ablauf der Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer
MehrDaten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL
Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured
MehrGliederung. 1) Speicherplatz-Zuordnung und -Verwaltung 2) Indizes 3) Explain Plan 4) Join-Operationen 5) Der Optimizer 6) Parallelisieren
Gliederung ) Speicherplatz-Zuordnung und -Verwaltung 2) Indizes 3) Explain Plan 4) Join-Operationen 5) Der Optimizer 6) Parallelisieren ) Speicherplatz-Zuordnung und -Verwaltung.) Tabellenspeicherung:
MehrGrundprinzipien der Anfrageoptimierung
5. Anfragebearbeitung und -optimierung Grundprinzipien und Beispiele Grundprinzipien der Anfrageoptimierung In einem RDBS wird mit SQL nur die Ergebnismenge festgelegt (deskriptiver Ansatz). Eine möglichst
MehrKommunikation und Datenhaltung
Kommunikation und Datenhaltung Anfrageoptimierung Überblick über den Datenhaltungsteil Einleitung und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra
MehrGrundlagen von Datenbanken. 4. Übung: Algebraische Optimierung
Grundlagen von Datenbanken 4. Übung: Algebraische Optimierung Algebraische Optimierung Ziel Effiziente Ausführung eines algebraischen Ausdrucks Minimierung der Größe von Zwischenergebnissen (das Endergebnis
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof Alfons Kemper, PhD Blatt Nr 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS5/6 Harald Lang, Linnea Passing (gdb@intumde) http://www-dbintumde/teaching/ws56/grundlagen/
MehrPerformance in der Oracle Datenbank von Anfang an
Performance in der Oracle Datenbank von Anfang an Marco Mischke, 26.04.2018 DOAG Regional Agenda Tabellen Indizes Ausführungspläne SQL vs PL/SQL Tabellen Zu 99% werden Standard Strukturen zur Speicherung
MehrArchitektur von Datenbanksystemen
Architektur von Datenbanksystemen Prof. Dr. Uta Störl Hochschule Darmstadt Fachbereich Informatik Wintersemester 2017/18 Motivation In Datenbanken-Grundvorlesung betrachtet: Funktionalität von Datenbanksystemen
Mehr8. Anfrageoptimierung
8. Anfrageoptimierung Vorgehensweise Übersetzung vs. Interpretation von DB-Operationen Anfragedarstellung Anfragetransformation Erstellung und Auswahl von Zugriffsplänen Kostenbewertung Prof. E. Rahm 8-1
MehrORACLE. ORACLE-SQL für Profis. Tuning von ORACLE-SQL (Einführung-2) Januar,
ORACLE ORACLE-SQL für Profis Tuning von ORACLE-SQL (Einführung-2) 1 1. Die Oracle Optimizer Die SQL-Optimizer entscheiden grundsätzlich anhand der folgenden Kriterien: Angegebene Syntax für die Anweisung
MehrDatenbanken 2. Kapitel 5: Pufferverwaltung und Optimierung von Zugriffspfaden
Datenbanken 2 Kapitel 5: Pufferverwaltung und Optimierung von Zugriffspfaden Inhalte des Kapitels Pufferverwaltung und Optimierung von Zugriffspfaden DB-Puffermanagement DB-Zugriffspfade Explains Lernziele
MehrArchitektur und Optimierung relationaler Datenbanksysteme
Literatur Architektur und relationaler Datenbanksysteme M. Jarke, J. Koch: Query optimization in database systems, ACM Computing Surveys, Vol. 16, No. 2, pp. 111-152, 1984. (ein Klassiker zur Anfrageoptimierung)
MehrMethodik zur Optimierung in Datenbanken. Anja Rommel, 14-INM
Methodik zur Optimierung in Datenbanken Anja Rommel, 14-INM 03.07.2015 Gliederung 1. Einleitung 2. Motivation und Ziele 3. Phasen der Optimierung 3.1. Phase 1: Optimierung des DB-Schemas und Anwendungsoptimierung
Mehr1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung)
1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Hafen(HNR, Ort, Grundsteinlegung) Matrose(MNR, Nachname, Geburtsdatum, Ausbildungsort Hafen.HNR) Schi(SNR, Name, Bruttoregistertonnen,
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)
MehrAufbau Datenbanksysteme
Aufbau Datenbanksysteme Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Speichersystem c Ingo Claßen, Martin Kempa Softwarearchitektur
MehrDatenbank- Implementierung
DB2 Crash 0 1 Crash-Kurs Datenbank- Implementierung Uni Magdeburg Gunter Saake saake@iti.cs.uni-magdeburg.de DB2 Crash 0 1 Überblick 1. Architektur von Datenbanksystemen 2. Basisalgorithmen für Datenbankoperationen
Mehr7. Anfrageoptimierung Vorgehensweise Übersetzung vs. Interpretation von DB-Operationen
7. Anfrageoptimierung Vorgehensweise Übersetzung vs. Interpretation von DB-Operationen Anfragedarstellung Anfragetransformation Erstellung und Auswahl von Zugriffsplänen Kostenbewertung WS10/11, Prof.
MehrAnfragebearbeitung und Optimierung
In diesem Kapitel geht es darum, wie ein DBMS eine SQL-Anfrage verarbeitet. Also: 1. Schritte der Anfragebearbeitung 2. Parsen und Validieren 3. Optimieren und Erstellen des Zugriffsplans Schritte der
MehrAnfrageverarbeitung. Einführung
Anfrageverarbeitung Prof. Dr. T. Kudraß 1 Einführung Wir betrachten die Implementierung der Operatoren der Relationenalgebra: Basis-Operationen: Selektion ( σ ) Auswahl einer Teilmenge von Tupeln aus der
MehrKostenmodelle und Tuning. Anfragebearbeitung 3. Kostenmodelle. Kostenbasierte Optimierung. VL Datenbanksysteme
Kostenmodelle und Tuning Anfragebearbeitung 3 VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Grundidee
Mehr7. XML-Datenbanksysteme und SQL/XML
7. XML-Datenbanksysteme und SQL/XML Native XML-DBS vs. XML-Erweiterungen von ORDBS Speicherung von XML-Dokumenten Speicherung von XML-Dokumenten als Ganzes Generische Dekomposition von XML-Dokumenten Schemabasierte
Mehr6. Optimierung von Anfragen
6. Optimierung von Anfragen Grundprinzipien, motivierende Beispiele Phasen der Anfrageverarbeitung Übersetzung von SQL in Relationenalgebra Logische Optimierung (algebraisch, Tableau) Interne Optimierung
Mehr7. Anfrageoptimierung Vorgehensweise Übersetzung vs. Interpretation von DB-Operationen
7. Anfrageoptimierung Vorgehensweise Übersetzung vs. Interpretation von DB-Operationen Anfragedarstellung Logische Optimierung / Anfragetransformation Physische Optimierung Erstellung alternativer Ausführungspläne
MehrIch liebe es, wenn ein Plan funktioniert
Ich liebe es, wenn ein Plan funktioniert Der Ausführungsplan Thomas Klughardt Senior Presales Consultant 16.11.2011 Quest Software 60 Büros 3 HQs Nord-/ Mittel-/ Südamerika Europa Asien / Pazifik 3600+
MehrInhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie
3 Inhaltsverzeichnis 1 Einführung in die Datenbanktechnologie 1.1 Einleitung... 8 1.1.1 Zielsetzung... 8 1.1.2 Aufbau des Studienbuches... 9 1.1.3 Abgrenzung... 10 1.2 Grundbegriffe... 10 1.3 Datenbanksysteme...
MehrRelationale Datenbanken
Ramon A. Mata-Toledo, Pauline K. Cushman Relationale Datenbanken Schaum's Repetitorien Übersetzung aus dem Amerikanischen von G&U Technische Dokumentation GmbH Z Die Autoren 9 Vorwort 9 1 Ein Überblick
Mehr9 Auswertung von Anfrageoperatoren 9.1 Selektion
9. Auswertung von Anfrageoperatoren 9.1. Selektion Seite 1 9 Auswertung von Anfrageoperatoren 9.1 Selektion Auswertung von σ[a op val]r. Index zu A, Sortierung zu A, Operator op. Auswertung von Formeln
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
MehrLogische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung
Logische Optimierung Höhere, nichtprozedurale Abfragesprachen (SQL, QBE,...) verlangen keine Kenntnisse des Benutzers über die Implementierung, müssen aber in prozedurale Form (z. B. Relationenalgebra)
MehrDB-Anfrageverarbeitung Überblick (2)
DB-Anfrageverarbeitung Überblick (1) Transaktionsprogramme Mengenorientierte DB-Schnittstelle SQL, QBE... Satzorientierte DB-Schnittstelle FID EXT/STORE... Interne Satz-Schnittstelle Speichere Satz (in
MehrSemesterklausur Wiederholung
Universität Augsburg, Institut für Informatik Wintersemester 2010/2011 Prof. Dr. W. Kießling 04. April 2011 Dr. M. Endres, F. Wenzel Datenbanksysteme Semesterklausur Wiederholung Hinweise: Die Bearbeitungszeit
MehrWelche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.
*HVFKDFKWHOWH$QIUDJHQ In einer SQL-Anweisung können in der where-klausel, from-klausel, select-klausel wieder SQL-Anweisungen auftreten. Man spricht dann auch von einer geschachtelten Anfrage oder Unteranfrage.
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrSemesterklausur Datenbanksysteme 1 SS 2015
Universität Augsburg, Institut für Informatik Sommersemester 2015 Prof. Dr. W. Kießling 10. April 2015 F. Wenzel, L.Rudenko Datenbanksysteme 1 Semesterklausur Datenbanksysteme 1 SS 2015 Hinweise: Die Bearbeitungszeit
MehrDatenbanksysteme I Anfragebearbeitung und -optimierung. 27.6.2011 Felix Naumann
Datenbanksysteme I Anfragebearbeitung und -optimierung 27.6.2011 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)
MehrObjektrelationale Datenbanken
Objektrelationale Datenbanken Ein Lehrbuch von Can Türker, Gunther Saake 1. Auflage Objektrelationale Datenbanken Türker / Saake schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG dpunkt.verlag
MehrQuery-Optimierung. Einführung Anfrageoptimierung
Query-Optimierung Prof. Dr. T. Kudraß 1 Einführung Anfrageoptimierung Von der Anfrage (WAS?) zur Auswertung (WIE?) Ziel: kostengünstiger Auswertungsweg Einsatz einer großen Anzahl von Techniken und Strategien
MehrDB I S. 1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.
1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.ONR) Jugendherberge(JNR, Name, Ort Ort.ONR, Manager Person.PNR) Ort(ONR,
MehrAndreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt
Andreas Heuer Gunter Saake Kai-Uwe Sattler Datenbanken kompakt Inhaltsverzeichnis Vorwort v 1 Was sind Datenbanken 1 1.1 Warum Datenbanken 1 1.2 Datenbanksysteme 4 1.3 Anforderungen: Die Codd'schen Regeln
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)
Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)
MehrAusführungspläne, Hints, Zugriffs- und Join-Methoden
Ausarbeitung zum Vortrag Ausführungspläne, Hints, Zugriffs- und Join-Methoden Peter Matjeschk 1 / 15 Inhaltsverzeichnis 1 Anfrageverarbeitung...3 1.1 Ausführungspläne...3 1.2 Entstehung von Ausführungsplänen...3
MehrAntwort auf QB ist Menge von Tupeln, i-e. selbst wieder Relation (wie bei rel. Algebra) in QB "Zugriff" auf Tupel mit Tupel-Variablen
Kapitel 6.3 SQL als Anfragesprache Kap. 6.3.1 Allgemeine Begriffe Identifiers: Var-Name ~ Tupel-Variable Table-Name ~ Rel., View Field-Name ~ Attribut-Bez. Key-Words: select where key is integer string
MehrAnfragebearbeitung 1. Vorlesung Datenbanksysteme vom
Vorlesung Datenbanksysteme vom 16.11.016 Anfragebearbeitung 1 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Architektur eines DBMS SW-Komponenten der Anfragebearbeitung
MehrGrundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle
Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle Vorwissen und so SQL Umgang mit MySQL (Workbench) Beispieldaten zum Spielen: http://download.geonames.org/export/dump/ 2 Tuningpotential DB-Interna;
MehrBackup und Restore von Optimizer Statistiken. Peter Stalder
Betrifft: Backup und Restore von Optimizer Statistiken Art der Info: Technical Info (Oktober 2002) Autor: Quelle: Peter Stalder (peter.stalder@trivadis.com) Erfahrung aus der Praxis Einleitung Kennen auch
MehrAufgabe 1: Verschachtelte Anfragen
Aufgabe 1: Verschachtelte Anfragen (1 P.) (a) Betrachten Sie folgenden Ausschnitt des TPC-H Schemas: CREATE TABLE partsupp ( ps_ availqty INT, ps_ partkey INT ); CREATE TABLE lineitem ( l_ partkey INT,
MehrDatenbanksysteme Kapitel 5: SQL - Grundlagen
Datenbanksysteme Kapitel 5: SQL - Grundlagen Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Prof. Peter Dr. Chamoni Peter
MehrGrundlagen von Datenbanken
Agenda: Grundlagen von Datenbanken SS 2010 3. Relationale Algebra Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010 - Prof. Dr.
MehrVorlesung Datenbankmanagementsysteme
Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.
MehrDatenbanksysteme Kapitel 5: SQL Grundlagen Teil 1
Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1 Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Prof. Dr. Dr. Peter Peter
MehrOperationen auf Relationen
Existierende relationale Datenbanken Beispiele von relationalen DB-Systemen: DB2, SQL (v. IBM), ORACLE, INGRES, INFORMIX, SYBASE, ACCESS u.v.a.m. Die dominierende Query-, DB-Language: SQL (Structured Query
MehrÜbung Datenbanksysteme II Anfrageoptimierung. Maximilian Jenders. Folien basierend auf Thorsten Papenbrock
Übung Datenbanksysteme II Anfrageoptimierung Maximilian Jenders Folien basierend auf Thorsten Papenbrock Hausaufgaben 3 + 4 2 Praktische Übung: Feedback, Probleme? Java-Aufgabe Picasso-Aufgabe Stabilität
MehrEinordnung. 6. Basisalgorithmen für DB-Operationen. Datenbankparameter. Datenbankparameter (II)
6. Basisalgorithmen für DB-Operationen Datenbankparameter Komplexität von Grundalgorithmen Unäre Operationen (Scan, Selektion, Projektion) Binäre Operationen: Mengenoperationen Berechnung von Verbunden
MehrGruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.
Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE B 22.06.2012 Matrikelnr. Familienname
MehrKapitel 5: Der SQL-Standard
Kapitel 5: Der SQL-Standard 5. Der SQL-Standard 5. Ein Anfrageausdruck in SQL besteht aus einer SELECT-Klausel, gefolgt von einer FROM-Klausel, gefolgt von einer WHERE-Klausel. Grundform eines SFW-Ausdruck
MehrDiskussion: Personal (1)
Diskussion: Personal (1) ER-Diagramm: Abteilung ist beschäftigt in [0, n] [0, 1] Person Umsetzung ins Relationenmodell? Diskussion: Personal (2) Zusätzliche Regel: In jeder Abteilung (Person) muss mindestens
MehrGlobale Statistiken im Oracle Data Warehhouse
Globale Statistiken im Oracle Data Warehhouse Dani Schnider Principal Consultant 29. Januar 2012 Aktuelle und vollständige Optimizer-Statistiken sind Voraussetzung für die Ermittlung von guten Execution
Mehr[ SQL] Wissen, das sich auszahlt
[www.teia.de SQL] Wissen, das sich auszahlt INHALT SEITE 12 [I] 1] Einführung in SQL und relationale Datenbanken 12 14 16 18 11 1.1 1.2 Einführung Die Structured Query Language (SQL) Tabellen Mehrere Tabellen
MehrACCESS SQL ACCESS SQL
ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache
MehrKapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)
Kapitel 6 Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) 1 Datenmanipulationssprache (DML) SQL Einfügen: Insert-Statement Ändern: Update-Statement Löschen:
MehrDatenbanksysteme I WS 17/18 HS-Übung. Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M.
Datenbanksysteme I WS 17/18 HS-Übung Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M. Franke Kapitel 1: Definitionen Grundlegenge Begriffe IS, DB, DBMS/
MehrKapitel 1 Grundlagen. Skript zur Vorlesung: Datenbanksysteme II Sommersemester Vorlesung: PD Dr. Peer Kröger
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2016 Kapitel 1 Grundlagen Vorlesung: PD Dr. Peer Kröger http://www.dbs.ifi.lmu.de/cms/datenbanksysteme_ii
MehrPhysischer DB-Entwurf
Physischer DB-Entwurf Prof. Dr. T. Kudraß 1 Überblick Ausgangslage: Konzeptuelles und externes Schema sind erstellt: ER Modell, Schemaverfeinerung und Definition von Sichten Nächster Schritt: Physischer
MehrOracle Indexing Primer
Oracle Indexing Primer Data Warehousing and Data Mining Patrick Schäfer Berlin, 18. Dezember 2017 patrick.schaefer@hu-berlin.de Vorlesung: Übung: https://hu.berlin/vl_dwhdm17 https://hu.berlin/ue_dwhdm17
MehrPerformance Tuning mit Oracle 12c
Performance Tuning mit Oracle 12c Agenda 1. Adaptive Execution Plans 2. Adaptive Statistics 3. SQL Plan-Direktiven 4. Neuerungen bei Statistiken 5. Konkurrierendes Sammeln von Statistiken 6. Private Session-Statistiken
MehrVisualisierung in Informatik und Naturwissenschaften
Visualisierung in Informatik und Naturwissenschaften Datenbankvisualisierung Sven Bernhard 12.06.1999 Datenbankvisualisierung Datenbanktheorie in 5 Minuten Visualisierung vs. Datenbanken Visualisierung
MehrGrundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich
Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)
Mehr5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp
5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries
MehrAnfrageverarbeitung und Kostenmodelle
Anfrageverarbeitung und Kostenmodelle Warum ist es wichtig? Ziel der Anfrageverarbeitung (query processing): eine Anfrage möglichst effizient auszuführen Eine effiziente Anfrageauswertung hängt davon ab,
MehrFunktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
MehrPraktische SQL-Befehle 2
Praktische SQL-Befehle 2 Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Functions Views Triggers Voraussetzung: Laptop + MySQL/ MariaDB + Workbench! DB1 WS2018 2 Airport
MehrInformatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Anlegen einer Tabelle create
MehrDatenbanken Implementierungstechniken SS2015
Hochschule für Technik, Wirtschaft und Kultur Leipzig Leipzig University of Applied Sciences Parallele DBMS Datenbanken Implementierungstechniken SS2015 Alexander Müller Fakultät Informatik, Mathematik
MehrSQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.
SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit
Mehr