Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische...

87
Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung

Transcript of Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische...

Page 1: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

Vorlesung Datenbanksysteme vom 18.10.2004Anfragebearbeitung

Logische OptimierungPhysische Optimierung

Page 2: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

2

Architektur eines DBMS

DML-Compiler DDL-Compiler

Abfrageoptimierung

Datenbankmanager

Schemaverwaltung

Dateiverwaltung

Logdateien Indexe Datenbasis Data Dictionary

Mehrbenutzersynchronisation

Fehlerbehandlung

Interactive Abfrage API/Präcompiler Verwaltungswerkzeug

Page 3: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

3

Pull-based Query Evaluation

opennext

ReturnErgebnis

Page 4: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

4

Pipelining vs. Pipeline-Breaker

R S

...

...

...

T

...

...

...

Page 5: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

5

Pipeline-Breaker

Unäre OperationensortDuplikatelimination (unique,distinct)Aggregatoperationen (min,max,sum,...)

Binäre OperationenMengendifferenz

Je nach Implementierung JoinUnion

Page 6: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

6

Beispiele:

Op6 Employee A DNO = Dnumber Department

Op7 Department A MgrSSN = SSN Employee

Zu betrachten allgemein:Implementierungs-Varianten für R AA=B S

JOIN - Implementierung

Page 7: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

7

Page 8: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

8

J1 nested (inner-outer) loop„brute force“-Algorithmus

foreach r Rforeach s S

if s.B = r.A then Res := Res (r s)

Nested Loop Join

Page 9: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

9

Page 10: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

10

Block-Nested Loop Join-Algorithmus

m-k m-k m-k m-k m-kR

kS k k k k k

Page 11: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

11

J2 Zugriffsstruktur auf SIndex Nested Loop Join

in jedem Durchlauf von R werden nur die in S qualifizierenden Tupel gelesen

dazu ist ein Index auf B erforderlich

foreach r Rforeach s S[B=r.A]

Res := Res (r s)

Index Nested Loop Join

Page 12: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

12

Page 13: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

13

J3 Sort-Merge Join erfordert zwei Sortierungen

1. R muss nach A und2. S nach B sortiert sein

sehr effizient falls A oder B Schlüsselattribut ist, wird jedes Tupel in R und S

nur genau einmal gelesen (wenn Duplikate eliminiert werden)

Sort-Merge-Join

A 5 5 5 6 6 6 7 7 7

R B 4 4 4 5 5 6 7 7 7 8

S A B5 55 55 55 55 55 56 66 66 67 7

Ergebnis:

Page 14: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

14

Page 15: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

15

Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus

R23

445

769013174288

S44179746

272

133

R S

•Nested Loop: O(N2)

•Sortieren: O(N log N)

•Partitionieren und Hashing

Page 16: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

16

Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus

R23

445

769013174288

S44179746

272

133

R SR3

90427613882

445

17

Mod

3

Page 17: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

17

Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus

R23

445

769013174288

S44179746

272

133

R SR3

90427613882

445

17

S6

273

974

1344172

Mod

3

Mod

3

Page 18: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

18

Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus

R23

445

769013174288

S44179746

272

133

R SR3

90427613882

445

17

S6

273

974

1344172

Mod

3

Mod

3

Page 19: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

19

Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus

R SR3

90427613882

445

17

S6

273

974

1344172

6273

Mod 5

Build-Phase

Hashtabelle

Page 20: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

20

Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus

R S = {3, }R3

90427613882

445

17

S6

273

974

1344172

6273

Mod 5

Probe-Phase

Page 21: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

21

Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus

R S = {3, }R3

90427613882

445

17

S6

273

974

1344172

97134

Mod 5

Build-Phase2. Partition

Page 22: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

22

Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus

R S = {3, }R3

90427613882

445

17

S6

273

974

1344172

97134

Mod 5

Probe-Phase2. Partition

Page 23: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

23

Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus

R S = {3, 13 }R3

90427613882

445

17

S6

273

974

1344172

97134

Mod 5

Probe-Phase2. Partition

Page 24: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

24

Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus

R23

445

769013174288

S44179746

272

133

R3

90427613882

445

17

S6

273

974

1344172

Mod

3

Mod

3

R S = {3, 13, 2, 44, 17 }

Page 25: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

25

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 Hintergrundspeicher (abhängig von der Größe der Relationen)

Zu verbindende Tupel befinden sich dann im selben Bucket

Wird (nach praktischen Tests) nur vom Merge-Join „geschlagen“, wenn die Relationen schon vorsortiert sind

Hash-Join

Page 26: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

26

Hash-Join

Ar1 5r2 7r3 8r4 5

R SB 5 s1

7 s2

10 s3

5 s4

r1 5

s15

r4 5

s45

10 s3

r2 7

s27

r3 8

h(A) h(B )

Bucket 3Bucket 2Bucket 1

Page 27: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

27

„Normaler“ blockierender Hash-Join mit Überlauf: Partitionieren

Send

R

Send

S

receive

P1

P2

P3

Partitionh(R.A)

P1

P2

P3

Partitionh(S.A)

receive

Page 28: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

28

„Normaler“ blockierender Hash-Join mit Überlauf: Build/Probe

Send

R

Send

S

P1

P2

P3

Partitionh(R.A)

P1

P2

P3

build

Hashtabelle

probe

Lade Blöcke von P1

Page 29: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

29

Page 30: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

30

Nested-Loop Join Hash Join

Page 31: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

31

Page 32: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

32

Hybrid Hash-Join Fange so an, als wenn der Build-Input S vollständig in

den Hauptspeicher passen würde Sollte sich dies als zu optimistisch herausstellen,

verdränge eine Partition nach der anderen aus dem Hauptspeicher

Mindestens eine Partition wird aber im Hauptspeicher verbleiben

Danach beginnt die Probe-Phase mit der Relation R Jedes Tupel aus R, dessen potentielle Join-Partner im

Hauptspeicher sind, wird sogleich verarbeitet

Hybrid Hash-Join ist dann besonders interessant, wenn der Build-Input knapp größer als der Hauptspeicher istKostensprung beim normalen Hash-Join

Wird oft auch Grace-Hash-Join genannt, weil er für die Datenbankmaschine Grace in Japan erfunden wurde

Page 33: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

33

Hybrid Hash-Join

R S

P1

P2

P3

Hashtabelle

Page 34: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

34

Hybrid Hash-Join

R S

P3

P1

P2

Hashtabelle

Page 35: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

35

Hybrid Hash-Join

R S

P2

P3

P1

Hashtabelle

Page 36: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

36

Hybrid Hash-Join

R

P2

P3

Partitionh(R.A) P2

P3

Hashtabelle

probe

Wenn r zur ersten Partition

gehört

Page 37: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

37

111100

111100 False

drops

6 Bit

Join mit Hashfilter(Bloom-Filter)

R1

R2pa

rtit

ioni

eren

S1

S2

part

itio

nier

en

Page 38: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

38

..

..

..

..

..

..

Join mit Hashfilter(False Drop Abschätzung)

Wahrscheinlichkeit, dass ein bestimmtes Bit j gesetzt istW. dass ein bestimmtes rR das Bit setzt: 1/bW. dass kein rR das Bit setzt: (1-1/b)|R|

W. dass ein rR das Bit gesetzt hat: 1- (1-1/b)|R|

01..j..

b-1

Page 39: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

39

Vergleich: Sort/Merge-Join versus Hash-Join

R run run S

merge m

erge

R partition partition S

Page 40: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

40

Illustration: Externes Sortieren

971735

27162

9913

Page 41: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

41

Illustration: Externes Sortieren

971735

27162

9913

Page 42: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

42

Illustration: Externes Sortieren

971735

27162

9913

97

17

3

Page 43: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

43

Illustration: Externes Sortieren

971735

27162

9913

3

17

97

sort

Page 44: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

44

Illustration: Externes Sortieren

971735

27162

9913

33

1797

17

97

sort

run

Page 45: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

45

Illustration: Externes Sortieren

971735

27162

9913

53

1797

27

16

run

Page 46: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

46

Illustration: Externes Sortieren

971735

27162

9913

53

17975

1627

16

27

sort

run

Page 47: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

47

Illustration: Externes Sortieren

971735

27162

9913

23

17975

1627

99

13

run

Page 48: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

48

Illustration: Externes Sortieren

971735

27162

9913

2

317975

16272

1399

13

99

sort

run

Page 49: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

49

Illustration: Externes Sortieren

3

317975

16272

1399

5

2

merge

run

Page 50: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

50

Illustration: Externes Sortieren

2

3

317975

16272

1399

5

2

merge

run

Page 51: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

51

Illustration: Externes Sortieren

23 3

317975

16272

1399

5

13

merge

run

Page 52: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

52

Illustration: Externes Sortieren

235

17

317975

16272

1399

5

13

merge

run

Page 53: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

53

Illustration: Externes Sortieren

235

17

317975

16272

1399

16

13

merge

run

Page 54: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

54

Illustration: Externes Sortieren

235

13

17

317975

16272

1399

16

13

run

Page 55: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

55

Mehrstufiges Mischen / Merge

m

m

Level 0

Level 1

Level 2

Page 56: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

56

Replacement Selection während der Run-Generierung

971735

27162

9913

Ersetze Array durch Einen Heap

Page 57: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

57

Replacement Selection während der Run-Generierung

971735

27162

9913

Heap

97

Page 58: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

58

Replacement Selection während der Run-Generierung

971735

27162

9913

Heap

1-97

1-17

Page 59: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

59

Replacement Selection während der Run-Generierung

971735

27162

9913

Heap

1-17

1-97

Page 60: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

60

Replacement Selection während der Run-Generierung

971735

27162

9913

Heap

1-17

1-97 1-3

Page 61: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

61

Replacement Selection während der Run-Generierung

971735

27162

9913

Heap

1-3

1-97 1-17

Page 62: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

62

Replacement Selection während der Run-Generierung

971735

27162

9913

3Heap

1-3

1-97 1-17

Page 63: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

63

Replacement Selection während der Run-Generierung

971735

27162

9913

3Heap

1-5

1-97 1-17

Page 64: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

64

Replacement Selection während der Run-Generierung

971735

27162

9913

35

Heap

1-5

1-97 1-17

Page 65: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

65

Replacement Selection während der Run-Generierung

971735

27162

9913

35

Heap

1-27

1-97 1-17

Page 66: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

66

Replacement Selection während der Run-Generierung

971735

27162

9913

35

Heap

1-27

1-97 1-17

Page 67: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

67

Replacement Selection während der Run-Generierung

971735

27162

9913

35

Heap

1-17

1-97 1-27

Page 68: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

68

Replacement Selection während der Run-Generierung

971735

27162

9913

35

17

Heap

1-17

1-97 1-27

Page 69: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

69

Replacement Selection während der Run-Generierung

971735

27162

9913

35

17

Heap

2-16

1-97 1-27

Nächster Run, kleiner

als 17

Page 70: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

70

Replacement Selection während der Run-Generierung

971735

27162

9913

35

17

Heap

2-16

1-97 1-27

Nächster Run, kleiner

als 17

Page 71: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

71

Replacement Selection während der Run-Generierung

971735

27162

9913

35

17

Heap

1-27

1-97 2-16

Page 72: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

72

Replacement Selection während der Run-Generierung

971735

27162

9913

35

1727

Heap

1-27

1-97 2-16

Page 73: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

73

Replacement Selection während der Run-Generierung

971735

27162

9913

35

1727

Heap

2-2

1-97 2-16

Page 74: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

74

Replacement Selection während der Run-Generierung

971735

27162

9913

35

1727

Heap

2-2

1-97 2-16

Page 75: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

75

Replacement Selection während der Run-Generierung

971735

27162

9913

35

172797

Heap

1-97

2-2 2-16

Page 76: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

76

Replacement Selection während der Run-Generierung

971735

27162

9913

35

172797

Heap

1-99

2-2 2-16

Page 77: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

77

Replacement Selection während der Run-Generierung

971735

27162

9913

35

17279799

Heap

1-99

2-2 2-16

Page 78: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

78

Replacement Selection während der Run-Generierung

971735

27162

9913

35

17279799

Heap

2-13

2-2 2-16

Page 79: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

79

Replacement Selection während der Run-Generierung

971735

27162

9913

35

17279799

Heap

2-2

2-13 2-16

Page 80: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

80

Replacement Selection während der Run-Generierung

971735

27162

9913

35

172797992

1316

Heap

2-2

2-13 2-16

Page 81: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

81

Implementierungs-Details Natürlich darf man nicht einzelne Datensätze zwischen

Hauptspeicher und Hintergrundspeicher transferieren Jeder „Round-Trip“ kostet viel Zeit (ca 10 ms)

Man transferiert größere BlöckeMindestens 8 KB Größe

Replacement Selection ist problematisch, wenn die zu sortierenden Datensätze variable Größe habeDer neue Datensatz passt dann nicht unbedingt in

den frei gewordenen Platz, d.h., man benötigt eine aufwendigere Freispeicherverwaltung

Replacement Selection führt im Durchschnitt zu einer Verdoppelung der Run-LängeBeweis findet man im [Knuth]

Komplexität des externen Sortierens? O(N log N) ??

Page 82: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

82

Übersetzung der logischen Algebra

R S

AR.A=S.B

R S

HashJoinR.A=S.B

R S

MergeJoinR.A=S.B

[SortR.A] [SortS.B]

R

S

IndexJoinR.A=S.B

[HashS.B | TreeS.B]

R

S

NestedLoopR.A=S.B

[Bucket]

Page 83: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

83

Übersetzung der logischen Algebra

P

R

SelectP

R

IndexSelectP

R

Page 84: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

84

Übersetzung der logischen Algebra

l

R

[NestedDup]

Projectl

R

[SortDup]

Sort

Projectl

R

[IndexDup]

[Hash | Tree]

Projectl

R

Page 85: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

85

Ein AuswertungsplanEin Auswer-tungsplan

Page 86: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

86

Wiederholung der Optimierungsphasenselect 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

s h

v

p

p.Name = ´Sokrates´ and ...

s.Semester

Page 87: Vorlesung Datenbanksysteme vom 18.10.2004 Anfragebearbeitung Logische Optimierung Physische Optimierung.

87

s

h

v

p

As.MatrNr=h.MatrNr

Ap.PersNr=v.gelesenVon

s.Semester

p.Name = ´Sokrates´

Av.VorlNr=h.VorlNr