Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kapitel 11 Anfragebearbeitung.

Ähnliche Präsentationen


Präsentation zum Thema: "Kapitel 11 Anfragebearbeitung."—  Präsentation transkript:

1 Kapitel 11 Anfragebearbeitung

2  Lernziele Relationenalgebra Ablauf der Anfrageoptimierung
Logische Optimierung Umwandlung von SQL in Relationenalgebra Heuristische Optimierung Physische Optimierung Unterschiedliche JOIN Algorithmen Kostenbasierte Optimierung Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

3 Optimierung von Datenbank- Anfragen: Grundsätze
Sehr hohes Abstraktionsniveau der mengenorientierten Schnittstelle (SQL). Sie ist deklarativ, nicht-prozedural, d.h. es wird spezifiziert, was man finden möchte, aber nicht wie. Das wie bestimmt sich aus der Abbildung der mengenorientierten Operatoren auf Schnittstellen-Operatoren der internen Ebene (Zugriff auf Datensätze in Dateien, Einfügen/Entfernen interner Datensätze, Modifizieren interner Datensätze). Zu einem was kann es zahlreiche wie‘s geben: effiziente Anfrageauswertung durch Anfrageoptimierung. i.A. wird aber nicht die optimale Auswertungsstrategie gesucht (bzw. gefunden) sondern eine einigermaßen effiziente Variante Ziel: „avoiding the worst case“ Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

4 Ablauf der Anfrageoptimierung
Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer Ausdruck Anfrage- Optimierer Auswertungs- Plan (QEP) Codeerzeugung Ausführung Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

5 Relationenmodell revisited: Grundbegriffe
DB: Relationen (tables) Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper 52 2134 Augustinus 309 2136 Curie 36 2137 Kant 7 Ausprägung dom (PersNr)  dom (Name)  ... dom (Raum) prüfen MatrNr VorlNr PersNr Note 28106 5001 2126 1 25403 5041 2125 2 Schema Attribut (Column) Tupel (Record, Row) Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

6 Relationenmodell revisited: Definitionen
Gegeben sei eine Menge von Wertebereichen primitiver Datentypen {D1, ..., Dm}, die als "Domains" bezeichnet werden. Eine Relation R ist ein Paar R = (s,v) mit einem Schema s = sch(R) = {A1, ..., An}, das aus einer Menge von Attributen (Attributnamen) besteht und für jedes Attribut Ai einen Domain dom(Ai)  {D1, ..., Dm} festlegt, und einer Ausprägung v = val(R)  dom(A1)  dom(A2)  ...  dom(An). Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

7 Relationenalgebra (RA): Operationen
Eine Operation der RA hat eine oder mehrere Relationen als Operanden und liefert eine Relation als Ergebnis (Abgeschlossenheit der Algebra) Operationen in RA: Mengenoperationen (Vereinigung, Durchschnitt, …) Zuweisung / Umbenennung Selektion, Projektion Joins Division Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

8 Mengenoperationen Für zwei Relationen R, S mit sch(R) = sch(S) sind die üblichen Mengenoperationen definiert: Vereinigung (Union) R  S: Durchschnitt (Intersection) R  S: Differenz (Difference) R  S: Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

9 Zuweisung Idee: Umbenennung von Relationen und/oder einzelnen Attributen Seien R, S Relationen mit sch(R) = { A1, ..., An } und sch(S) = { B1, ..., Bn }, so dass für alle i gilt: dom(Ai) = dom(Bi). Die Zuweisung R := S bedeutet: val(R) = val(S). Ausführlicher schreibt man auch R(A1, ..., An) := S(B1, ..., Bn). Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

10  [Voraussetzung  Vorgänger] (voraussetzen)
Umbenennung Vereinfachte Form der Zuweisung: explizite Umbenennung von einzelnen Attributen oder Relationen Umbennung von einzelnen Attributen  [Voraussetzung  Vorgänger] (voraussetzen) (.. Attribut "Vorgänger" wird in "Voraussetzung" umbenannt) Umbenennung von Relationen  [V1] (voraussetzen) (.. Relation "voraussetzen" wird in "V1" umbenannt) Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

11 Selektion Selektion  (Filterung, Auswahl von Zeilen einer Tabelle):
Das Resultat einer Selektion [F](R) auf einer Relation R ist: Die Menge der möglichen Filterformeln F ist: Für Attribute A, B aus sch(R) mit dom(A) = dom(B), Konstante c  dom(A) und Vergleichsoperationen   {=, , , , , } sind A  B und A  c zulässige Filterbedingungen. 2) Falls F1 und F2 zulässige Filterbedingungen sind, dann sind auch F1  F2, F1  F2,  F1 und (F1) zulässig. 3) Nur die von 1) und 2) erzeugten Filterbedingungen sind zulässig. Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

12 Projektion Projektion  (Auswahl von Spalten einer Tabelle):
Sei A  sch(R). Das Resultat einer Projektion [A](R) ist: Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

13 Selektion vs. Projektion
Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

14 Selektion / Projektion: Beispiel
Studenten MatrNr Name Semester 24002 Xenokrates 18 25403 Jonas 12 26120 Fichte 10 26830 Aristoxenos 8 27550 Schopenhauer 6 28106 Carnap 3 29120 Theophrastos 2 29555 Feuerbach Selektion:  [Semester > 10] (Studenten) MatrNr Name Semester 24002 Xenokrates 18 25403 Jonas 12 Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper 52 2134 Augustinus 309 2136 Curie 36 2137 Kant 7 Projektion:  [Rang] (Professoren) Rang C3 C4 Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

15 Beispiel: Selektion/Projektion mit Umbenennung
Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper 52 2134 Augustinus 309 2136 Curie 36 2137 Kant 7 Vorlesungen VorlNr Titel SWS gelesenVon 5001 Grundzüge 4 2137 5041 Ethik 2125 5043 Erkenntnistheorie 3 2126 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 2133 5022 Glaube und Wissen 2134 4630 Die 3 Kritiken Anfrage: PersNr aller C4-Professoren, die mindestens eine Vorlesung halten. Mengendurchschnitt nur auf zwei Argumentrelationen mit gleichem Schema anwendbar. Deshalb ist die Umbenennung des Attributes gelesenVon in PersNr in der Relation Vorlesungen notwendig. Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

16 Natural Join Natural Join: ||
Natürlicher Verbund von Relationen über gleiche Attributnamen und Attributwerte. Das Resultat von R || S mit A = sch(R) und B = sch(S) ist: P (X1, ..., Xm, Y1, ..., Yk) Q (Y1,..., Yk, Z1, ..., Zn) P |×| Q P  Q P  Q Q  P X1 X2 ... Xm Y1 Y2 Yk Z1 Z2 Zn Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

17 Natural Join: Beispiel
Studenten MatrNr Name Semester 24002 Xenokrates 18 25403 Jonas 12 26120 Fichte 2 26830 Aristoxenos 8 27550 Schopenhauer 1 hören MatrNr VorlNr 24002 5001 25403 4052 5041 26830 5052 || MatrNr Name Semester VorlNr 24002 Xenokrates 18 5001 4052 5041 25403 Jonas 12 26830 Aristoxenos 8 5052 Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

18 Kartesisches Produkt Kartesisches Produkt: 
Seien R, S Relationen mit Schemata A = sch(R) und B = sch(S). Sei A' ein Schema, bei dem alle Ai, die auch in B vorkommen, unbenannt sind in R.Ai, und sei B' ein analoges Schema mit Attributnamen S.Ai. Das Resultat von R  S ist: P (X1,..., Xm, Y1,..., Yk) Q (Y1,..., Yk, Z1,..., Zn) P × Q X1 X2 ... Xm P.Y1 P.Y2 P.Yk Q.Y1 Q.Y2 Q.Yk Z1 Z2 Zn Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

19 Kartesisches Produkt: Beispiel
Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper 52 2134 Augustinus 309 2136 Curie 36 2137 Kant 7 hören MatrNr VorlNr 26120 5001 27550 4052 28106 5041 5052 5216 ... × sch(Professoren) sch(hören) PersNr Name Rang Raum MatrNr VorlNr 2125 Sokrates C4 226 26120 5001 ... 29555 2137 Kant 7 Problem: potentiell riesige Zwischenergebnisse Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

20 Äquivalenzregeln ("Rechenregeln") der RA
Kommutativitätsregeln: 1) falls P nur R1-Attribute enthält 2) Assoziativitätsregel: 3) Idempotenzregeln: 4) 5) Distributivitätsregeln: 6) 7) 8) falls P nur R-Attribute enthält 9) falls Joinattribute 10)  R1 S1 Invertierungsregel: 11) Grundlagen der Datenbanken, WS 08/09 Kapitel 5: Relationale Algebra

21 Ausdrucksmächtigkeit der RA
Die Menge der relationenalgebraischen Ausdrücke über einer Menge von Relationen P1, ..., Pn ist wie folgt definiert: (i) P1, ..., Pn sind Ausdrücke. (ii) Wenn R, S, T, Q Ausdrücke sind, F eine Filterformel über sch(P) ist, A  sch(R), sch(S)=sch(T) und sch(R)  sch(Q) gilt, dann sind [F](R), [A](R), R |×| S, R × S, R |*| S, S  T, S  T, S - T, R  Q auch Ausdrücke. (iii) Nur die von (i) und (ii) erzeugten Ausdrücke sind RA-Ausdrücke. Satz: , , , , –,  bilden eine minimale Menge von Operationen, mit denen sich alle Operationen der RA ausdrücken lassen. Eine Anfragesprache heißt relational vollständig, wenn sich damit alle Anfragen der (minimalen) Relationenalgebra ausdrücken lassen. Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

22 Eigenschaften der Relationenalgebra (1/2)
Satz: Alle Ergebnismengen von Operationen der relationalen Algebra sind endlich. Beweisskizze: Man zeige für alle Operationen ×, , , , – und , dass für endliche Eingaberelationen und beliebige Filterformeln das Ergebnis auch endlich ist. Beispiel: R × S: Sei die Anzahl der Tupel in R: r = |val(R)| und in S: s=|val(S)|. Dann ist sowohl r als auch s endlich (s. oben). Die Anzahl der Tupel in R × S: rxs = |val(R × S)| kann bestimmt werden als rxs ≤ r*s, da für jedes Element in val(R) höchstens s Ausprägungen in R × S entstehen können. rxs ist also endlich. □ Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

23 Eigenschaften der Relationenalgebra (2/2)
Mit ähnlichem Beweisschema gilt auch: Die Größe der Ergebnismenge von Operationen der relationalen Algebra kann sicher nach oben abgeschätzt werden, wenn die Größe der Eingaberelationen bekannt ist Die Laufzeit zur Auswertung eines Ausdrucks der Relationenalgebra kann sicher nach oben abgeschätzt werden, wenn sowohl die Größe der Eingaberelationen bekannt ist als auch die nach oben abgeschätzte Laufzeit des Berechnungsalgorithmen der eingesetzten Einzeloperationen Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

24  Kann SQL die Relationenalgebra abbilden?
Offene Fragen: Kann SQL die Relationenalgebra abbilden? JA, SQL ist relational vollständig Kann die Relationenalgebra SQL abbilden? JEIN Es kommt auf den Dialekt an. Was bei den meisten fehlt sind Multimengen, Aggregationen, Gruppierung und transitive Hülle Diese können allerdings mit geringem Zusatzaufwand eingefügt werden Grundlagen der Datenbanken, WS 10/11 Kapitel 5: Relationale Algebra

25 Übersetzen der SQL-Anfrage in die Relationenalgebra
Logische Optimierung Übersetzen der SQL-Anfrage in die Relationenalgebra Äquivalentes Umformen der RA um die Anfragebearbeitung zu beschleunigen Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

26 Allgemeingültige Übersetzung
SELECT A1, ..., An FROM R1, ..., Rk WHERE P Rk R3 R1 R2 Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

27 Allgemeingültige Übersetzung (Beispiel)
SELECT Titel FROM Professoren, Vorlesungen WHERE Name = ´Popper´ AND PersNr = gelesenVon Vorlesungen Professoren Problem: Professoren Vorlesung hat ist ein sehr großes Zwischenergebnise Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

28 Erste Optimierungsidee
SELECT Titel FROM Professoren, Vorlesungen WHERE Name = ´Popper´ AND PersNr = gelesenVon Vorlesungen Professoren Das Zwischenergebnis ist nun deutlich kleiner. Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

29 Zur Erinnerung: Äquivalenzregeln der RA
Kommutativitätsregeln: 1) falls P nur R1-Attribute enthält 2) Assoziativitätsregel: 3) Idempotenzregeln: 4) 5) Distributivitätsregeln: 6) 7) 8) falls P nur R-Attribute enthält 9) falls Joinattribute 10)  R1 S1 Invertierungsregel: 11) Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

30 Heuristische Anwendung der Transformationsregeln
1. Mittels Regel 1 werden konjunktive Selektionsprädikate in Kaskaden von -Operationen zerlegt. 2. Mittels Regeln 2, 4, 6, und 9 werden Selektionsoperationen soweit "nach unten" propagiert wie möglich. 3. Mittels Regel 8 werden die Blattknoten so vertauscht, dass derjenige, der das kleinste Zwischenergebnis liefert, zuerst ausgewertet wird. 4. Forme eine  -Operation, die von einer -Operation gefolgt wird, wenn möglich in eine Join-Operation um 5. Mittels Regeln 3, 4, 7, und 10 werden Projektionen soweit wie möglich nach unten propagiert. 6. Versuche Operationsfolgen zusammenzufassen, wenn sie in einem Durchlauf ausführbar sind (z.B. Anwendung von Regel 1, Regel 3, aber auch Zusammenfassung aufeinanderfolgender Selektionen und Projektionen zu einer Filter-Operation). Selektion nach unten Kleine Zwischenergebnisse Besser Join als Kartesisch Projektionen nach unten (jedoch über die Selektionen) Operationen zusammenfassen Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

31 Anwendung der Transformationsregeln
SELECT distinct s.Semester FROM Studenten s, hören h Vorlesungen v, Professoren p WHERE p.Name = ´Sokrates´ AND v.gelesenVon = p.PersNr AND v.VorlNr = h.VorlNr AND h.MatrNr = s.MatrNr p v s h Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

32 Aufspalten der Selektionsprädikate
v p s h v h s Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

33 Verschieben der Selektionsprädikate
Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

34 Zusammenfassung von Selektionen und Kreuzprodukten zu Joins
h s h Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

35 Optimierung der Joinreihenfolge Kommutativität und Assoziativität ausnutzen
Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

36 4 4 s 13 3 13 h p v 1 v s h p Was bringt das ?
Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

37 Einfügen von (zusätzlichen) Projektionen
Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

38 Physische Optimierung
Ziel ist es gute Algorithmen für die Ausführung auswählen Bei Join: Nested-Loop-Join Index-Nested-Loop-Join Merge-Join Hash-Join Indexe und Vorsortierungen sollten möglichst gut ausgenutzt werden. Nach Bedarf werden Indexe und Sortierungen akut erstellt. Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

39 Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

40 Implementierung von Join: Strategien
J1 nested (inner-outer) loop „brute force“-Algorithmus foreach r  R foreach s  S if s.B = r.A then Res := Res  (r  s) Laufzeit: O(|R|*|S|) ~ O(n²) Keine Vorbedingungen Auch geeignet für das kartesische Produkt Fazit: Der einfachste und flexibelste Join Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

41 Implementierung von Join: Strategien
J2 Zugriffsstruktur auf S Index Nested Loop Join in jedem Durchlauf von R werden nur die in S qualifizierenden Tupel gelesen Vorbedingung: ein Index auf B foreach r  R foreach s  S[B=r.A] Res := Res  (r  s) Laufzeit: O(|R|*query(S[B=r.A])*|S[B=r.A]|) Queryzeit ist O(log n) für B-Bäume und O(1) für Hash Wenn B Schlüssel ist, dann ist |S[B=r.A]|= 1 O(n) im besten Fall bis O(n²) im schlechtesten (∀ r,s: r.A = s.B) Meistens O(n log n) Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

42 Implementierung von Join: Strategien
J3 Merge-Join Vorbedingung: Beide Relationen sind passend sortiert. 2 pointer r, s =0 while (R[r].exists() && S[s].exists()) { if (R[r] == S[s]) { output.add(R[r]);r++;s++; } else if (r< s) r++; else s++; } falls A oder B Schlüsselattribut ist, wird jedes Tupel in R und S nur genau einmal gelesen -> O(|R|+|S|) ~O(n) Kann sich sogar lohnen, wenn R oder S erst sortiert werden müssen 1 3 6 7 9 11 13 2 4 6 7 8 11 13 Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

43 Implementierung von Join: Strategien
J4 Hash-Join R und S werden mittels der gleichen Hashfunktion h – angewendet auf R.A und S.B – auf (dieselben) Hash-Buckets abgebildet Hash-Buckets sind i.Allg. auf dem Hintergrundspeicher (abhängig von der Größe der Relationen) Zu verbindende Tupel befinden sich dann im selben Bucket Wird (nach praktischen Tests) nur von J3 „geschlagen“, wenn die Relationen schon vorsortiert sind Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

44 Übersetzung der logischen Algebra
NestedLoopR.A=S.B MergeJoinR.A=S.B R [Bucket] [SortR.A] [SortS.B] S R S R S AR.A=S.B IndexJoinR.A=S.B HashJoinR.A=S.B R [HashS.B | TreeS.B] R S Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung S

45 Implementierung von Select: Strategien
S1 Select Brute-Force: Jedes Tupel wird einzeln überprüft O(n) S2 IndexSelect Der Index wird benutzt um die Anfrage schneller zu beantworten O(1) bei Hash Index und Gleichheit O(log n) bei B-Baum und Gleichheit O(log n) bei B-Baum und Bereichsanfrage Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

46 Übersetzung der logischen Algebra
IndexSelectP R P R SelectP R Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

47 Implementierung der Projektion
Wenn mit dem Projektionsergebnis weitergerechnet wird, muss das Zwischenergebnis dupliziert werden. Die Duplikation sollte nach Möglichkeit einen Index oder eine Sortierung erhalten, wenn diese noch weiter benötigt werden. Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

48 Übersetzung der logischen Algebra
[IndexDup] [Hash | Tree] Projectl R [SortDup] Sort Projectl R l R [NestedDup] Projectl R Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

49 Wiederholung der Optimierungsphasen
s.Semester select distinct s.Semester from Studenten s, hören h Vorlesungen v, Professoren p where p.Name = ´Sokrates´ and v.gelesenVon = p.PersNr and v.VorlNr = h.VorlNr and h.MatrNr = s.MatrNr p.Name = ´Sokrates´ and ... p v s h Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

50 s s h h v v Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

51 Kostenbasierte Optimierung
Generiere alle denkbaren Anfrageauswertungspläne Enumeration Bewerte deren Kosten Kostenmodell Statistiken Histogramme Kalibrierung gemäß verwendetem Rechner Abhängig vom verfügbaren Speicher Aufwands-Kostenmodell Durchsatz-maximierend Nicht Antwortzeit-minimierend Behalte den billigsten Plan Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

52 Tuning von Datenbanken
Statistiken (Histogramme, etc.) müssen explizit angelegt werden Anderenfalls liefern die Kostenmodelle falsche Werte In Oracle … analyze table Professoren compute statistics analyze table Professoren estimate statistics In DB2 … runstats on table … Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

53 Analysieren von Leistungsengpässen
Geschätzte Kosten von Oracle Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung

54 Datenbankoptimierung ist recht kompliziert
Fazit Datenbankoptimierung ist recht kompliziert Die Besonderheiten der Anfragesprache erlauben es weitgehende Optimierungen durchzuführen. Dabei ist vor allem die Reihenfolge der Operationen relevant. Indexe ermöglichen es schnellere Operationen zu verwenden. Über Verschachtelungen hinweg, kann es allerdings schneller sein, sie nicht zu benutzen. Datenbanken für Mathematiker, WS 11/12 Kapitel 11: Anfragebearbeitung


Herunterladen ppt "Kapitel 11 Anfragebearbeitung."

Ähnliche Präsentationen


Google-Anzeigen