Εαρινό Εξάμηνο

Σχετικά έγγραφα
Βελτιστοποίηση επερωτημάτων

Εαρινό Εξάμηνο

R-Trees, kd-trees, QuadTrees. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών

Συναλλαγές. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών. Συναλλαγές. Βάσεις Δεδομένων ΙΙ

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Επεξεργασία Ερωτήσεων

Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Επεξεργασία Ερωτήσεων

IBM DB2, Microsoft SQL Server. Εαρινό Εξάμηνο

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Το εσωτερικό ενός Σ Β

PostgreSQL. Oracle. Εαρινό Εξάμηνο

Επεξεργασία Ερωτήσεων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

Επεξεργασία ερωτημάτων

Query-by-Example (QBE)

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης

Κεφ.11: Ευρετήρια και Κατακερματισμός

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Υλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Ο βελτιστοποιητής ερωτημάτων (query optimizer) Μετασχηματισμός εκφράσεων σχεσιακής άλγεβρας Υπολογισμός μεγεθών πράξεων σχεσιακής άλγεβρας

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΚΠΑΙ ΕΥΣΗΣ ΚΑΙ ΑΡΧΙΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ (ΕΠΕΑΕΚ ΙΙ)

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project

Τμήμα Πληροφορικής ΑΠΘ

Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια.

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

Βάσεις Δεδομένων ΙΙ Ενότητα 5

Κεφάλαιο 14. Δομές Ευρετηρίων για Αρχεία. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση,

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων

Πληροφορική 2. Δομές δεδομένων και αρχείων

Βελτιστοποίηση Ερωτημάτων Κεφ. 14

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-1

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Τμήμα Πληροφορικής ΑΠΘ

Ανοικτά Ακαδημαϊκά Μαθήματα

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ"

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

Συστήματα Ανάκτησης Πληροφοριών ΗΥ-463

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Γλώσσες & Τεχνικές 4 ο Εξάμηνο. - Ενότητα 1 - Δημοσθένης Σταμάτης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

Πληροφορική & Τηλεπικοινωνίες K25 Ανάπτυξη Λογισμικού Εαρινό Εξάμηνο 2008 Καθηγητής Γιάννης Ιωαννίδης. Μέρος 2ο: Επίπεδο Ευρετηρίου Β+ Δένδρων

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης, Δημήτρης Πλεξουσάκης, Χαρίδημος Κονδυλάκης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ευρετήρια και Κατακερµατισµός

Επισκόπηση Μαθήµατος

Διαχείριση Δεδομένων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

'Ασκηση 1: Στατικός Κατακερματισμός. Εισαγωγή. Ρουτίνες υλοποίησης κατακερματισμού. (Ημερομηνία Παράδοσης: Παρασκευή, 16/5/2008, 5μμ) HT_Init()

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

TÜV MANAGEMENT SERVICE ISO

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ονοματεπώνυμο: Αριθμός Μητρώου:

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Transcript:

Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012

Table of contents 1

Table of contents 1 2

Table of contents 1 2 3

Table of contents 1 2 3 4

Table of contents 1 2 3 4 5

Table of contents 1 2 3 4 5 6

1 2 3 4 5 6

Ερωτήματα Στάδια Επεξεργασίας Ερωτήματος: 1 Ανάλυση και Μετάϕραση

Ερωτήματα Στάδια Επεξεργασίας Ερωτήματος: 1 Ανάλυση και Μετάϕραση Συντακτικός Έλεγχος Έλεγχος Ιδιοτήτων...

Ερωτήματα Στάδια Επεξεργασίας Ερωτήματος: 1 Ανάλυση και Μετάϕραση Συντακτικός Έλεγχος Έλεγχος Ιδιοτήτων... 2

Ερωτήματα Στάδια Επεξεργασίας Ερωτήματος: 1 Ανάλυση και Μετάϕραση Συντακτικός Έλεγχος Έλεγχος Ιδιοτήτων... 2 Πλάνο Υπολογισμού Αναζήτηση

Ερωτήματα Στάδια Επεξεργασίας Ερωτήματος: 1 Ανάλυση και Μετάϕραση Συντακτικός Έλεγχος Έλεγχος Ιδιοτήτων... 2 Πλάνο Υπολογισμού Αναζήτηση 3 Εκτέλεση

Ερωτήματα Στάδια Επεξεργασίας Ερωτήματος: 1 Ανάλυση και Μετάϕραση Συντακτικός Έλεγχος Έλεγχος Ιδιοτήτων... 2 Πλάνο Υπολογισμού Αναζήτηση 3 Εκτέλεση Ένα πλάνο υπολογισμού περιέχει τα βήματα για την εκτέλεση ενός ερωτήματος

Πλάνο Υπολογισμού Παράδειγμα Ερωτήματος SELECT name FROM authors WHERE age > 50

Πλάνο Υπολογισμού Παράδειγμα Ερωτήματος SELECT name FROM authors WHERE age > 50 π name σ age>50 authors

Ερωτήματος Αναζήτηση και εκτέλεση του πιο αποδοτικού πλάνου

Ερωτήματος Αναζήτηση και εκτέλεση του πιο αποδοτικού πλάνου Πώς? Δημιουργία Εναλλακτικών Πλάνων

Ερωτήματος Αναζήτηση και εκτέλεση του πιο αποδοτικού πλάνου Πώς? Δημιουργία Εναλλακτικών Πλάνων Υπολογισμός για αυτά

Ερωτήματος Αναζήτηση και εκτέλεση του πιο αποδοτικού πλάνου Πώς? Δημιουργία Εναλλακτικών Πλάνων Υπολογισμός για αυτά αυτού με το μικρότερο κόστος

1 2 3 4 5 6

Για να υπολογιστεί το ακριβές κόστος ενός πλάνου θα πρέπει (συνήθως) αυτό να εκτελεστεί

Για να υπολογιστεί το ακριβές κόστος ενός πλάνου θα πρέπει (συνήθως) αυτό να εκτελεστεί Κάτι άλλο?

Για να υπολογιστεί το ακριβές κόστος ενός πλάνου θα πρέπει (συνήθως) αυτό να εκτελεστεί Κάτι άλλο? Για την εκτίμηση του κόστους χρησιμοποιούνται διάϕορες στατιστικές πληροϕορίες που είναι αποθηκευμένες στον κατάλογο του DBMS

Κατάλογοι DBMS Κατάλογοι Περιέχουν στατιστικές πληροϕορίες για τις σχέσεις στην βάση όπως: n r : αριθμός εγγραϕών στην σχέση r

Κατάλογοι DBMS Κατάλογοι Περιέχουν στατιστικές πληροϕορίες για τις σχέσεις στην βάση όπως: n r : αριθμός εγγραϕών στην σχέση r b r : αριθμός blocks που περιέχουν εγγραϕές της r

Κατάλογοι DBMS Κατάλογοι Περιέχουν στατιστικές πληροϕορίες για τις σχέσεις στην βάση όπως: n r : αριθμός εγγραϕών στην σχέση r b r : αριθμός blocks που περιέχουν εγγραϕές της r l r : μέγεθος μιας εγγραϕής της r σε bytes

Κατάλογοι DBMS Κατάλογοι Περιέχουν στατιστικές πληροϕορίες για τις σχέσεις στην βάση όπως: n r : αριθμός εγγραϕών στην σχέση r b r : αριθμός blocks που περιέχουν εγγραϕές της r l r : μέγεθος μιας εγγραϕής της r σε bytes f r : αριθμός εγγραϕών ανά block

Κατάλογοι DBMS Κατάλογοι Περιέχουν στατιστικές πληροϕορίες για τις σχέσεις στην βάση όπως: n r : αριθμός εγγραϕών στην σχέση r b r : αριθμός blocks που περιέχουν εγγραϕές της r l r : μέγεθος μιας εγγραϕής της r σε bytes f r : αριθμός εγγραϕών ανά block V(A, r): αριθμός ξεχωριστών τιμών της σχέσης r στην ιδιότητα A

Κατάλογοι DBMS Κατάλογοι Περιέχουν στατιστικές πληροϕορίες για τις σχέσεις στην βάση όπως: n r : αριθμός εγγραϕών στην σχέση r b r : αριθμός blocks που περιέχουν εγγραϕές της r l r : μέγεθος μιας εγγραϕής της r σε bytes f r : αριθμός εγγραϕών ανά block V(A, r): αριθμός ξεχωριστών τιμών της σχέσης r στην ιδιότητα A Στατιστικές Ευρετηρίων

Κατάλογοι DBMS Κατάλογοι Περιέχουν στατιστικές πληροϕορίες για τις σχέσεις στην βάση όπως: n r : αριθμός εγγραϕών στην σχέση r b r : αριθμός blocks που περιέχουν εγγραϕές της r l r : μέγεθος μιας εγγραϕής της r σε bytes f r : αριθμός εγγραϕών ανά block V(A, r): αριθμός ξεχωριστών τιμών της σχέσης r στην ιδιότητα A Στατιστικές Ευρετηρίων

Το κόστος εξαρτάται από τα μεγέθη των σχέσεων καθώς και από τους αλγορίθμους που χρησιμοποιούνται. Μεγέθους για διάϕορα ερωτήματα: σ A ν (r) n r ν min(a,r) max(a,r) min(a,r) Join r s χωρίς τα κοινά πεδία να είναι κλειδιά n r n s V(A,s) ή n r n s V(A,r)

1 2 3 4 5 6

Ισοδύναμες Εκϕράσεις Κατά τη βελτιστοποίηση, υπολογίζεται το κόστος διάϕορων πλάνων, τα οποία δίνουν το επιθυμητό αποτέλεσμα (ισοδύναμα)

- 1 σ θ1 θ 2 (E) = σ θ1 (σ θ2 (E)) σ θ1 (σ θ2 (E)) = σ θ2 (σ θ1 (E)) Π L1 (Π L2 (... Π Ln (E))... ) = Π L1 (E)

- 2 σ θ (E 1 E 2 ) = E 1 θ E 2 σ θ1 (E 1 θ2 E 2 ) = E 1 θ1 θ 2 E 2 E 1 θ E 2 = E 2 θ E 1

- 3 (E 1 E 2 ) E 3 = E 1 ( E 2 ) E 3 ) (E 1 θ1 E 2 ) θ2 θ 3 E 3 = E 1 θ1 θ 3 (E 2 θ2 E 3 ) σ θ0 (E 1 E 2 ) = (σ θ0 (E 1 )) θ E 2 σ θ1 θ 2 (E 1 θ E 2 ) = (σ θ1 (E 1 )) (σ θ2 (E 2 ))

- 4 Π L1 L 2 (E 1 θ E 2 ) = (Π L1 (E 1 )) θ (Π L2 (E 2 )) Π L1 L 2 (E 1 θ E 2 ) = Π L1 L 2 ((Π L1 L 3 (E 1 )) θ (Π L2 L 2 (E 2 )))

- 5 E 1 E 2 = E 2 E 1 E 1 E 2 = E 2 E 1 (E 1 E 2 ) E 3 = E 1 (E 2 E 3 ) (E 1 E 2 ) E 3 = E 1 (E 2 E 3 )

- 6 σ P (E 1 E 2 ) = σ P (E 1 ) σ P (E 2 ) Π L (E 1 E 2 ) = (Π L (E 1 )) (Π L (E 2 ))

Γραϕική Αναπαράσταση θ θ E1 E2 E2 E1 E3 E1 E1 E2 E2 E3 σθ σθ E2 E1 E2 E1

1 2 3 4 5 6

Μέχρι τώρα είδαμε: Πως μπορούμε να δημιουργήσουμε ισοδύναμα πλάνα Πως μπορούμε να εκτιμήσουμε το κόστος ενός πλάνου

Μέχρι τώρα είδαμε: Πως μπορούμε να δημιουργήσουμε ισοδύναμα πλάνα Πως μπορούμε να εκτιμήσουμε το κόστος ενός πλάνου Πως διαλέγουμε το πλάνο που θα εκτελεστεί?

Μέχρι τώρα είδαμε: Πως μπορούμε να δημιουργήσουμε ισοδύναμα πλάνα Πως μπορούμε να εκτιμήσουμε το κόστος ενός πλάνου Πως διαλέγουμε το πλάνο που θα εκτελεστεί? Πιθανές λύσεις Αναζήτηση όλων των πλάνων Ευρετικοί Αλγόριθμοι

Βασισμένη στο Κόστος Εύρεση του βέλτιστου πλάνου Χρονοβόρα αλλά μπορεί να βελτιωθεί με διάϕορους τρόπους Ευρετική Heuristics όπως: Διάσπαση σύνθετων επιλογών Εκτέλεση των επιλογών νωρίς Εκτέλεση προβολών νωρίς και άλλα..

Το κόστος μιας ενός τελεστή κυρίως εξαρτάται από Το μέγεθος της εισόδου Τον αλγόριθμο εκτέλεσης Ευρετήρια

Το κόστος μιας ενός τελεστή κυρίως εξαρτάται από Το μέγεθος της εισόδου Τον αλγόριθμο εκτέλεσης Ευρετήρια Η επιλογή του βέλτιστου αλγορίθμου για κάθε τελεστή ενδέχεται να μην οδηγήσει στο συνολικά βέλτιστο πλάνο!

1 2 3 4 5 6

Παράδειγμα 1 Να βρεθούν τα επίθετα των εργαζομένων που γεννήθηκαν μετά το 1957 και απασχολούνται σε ένα έργο με όνομα "Aquarious" SELECT επίθετο FROM εργαζόμενος E, απασχόληση A, έργο ΕΡ WHERE ΕΡ.ε_όνομα= 'Aquarius' AND Α.κωδ_έργου = ΕΡ.κωδικός AND Α.αρ_ταυτ = Εαρ_ταυτ AND Ε.ημ_γεν > '1957-12-31'

Παράδειγμα 2 Να βρεθούν τα επίθετα των μηχανικών που δούλεψαν στο αυτοκίνητο 'ΑΧΝ-2699' την '26/3/2011' SELECT Επίθετο FROM ΜΗΧΑΝΙΚΟΣ Μ,ΕΠΙΣΚΕΥΗ Ε, ΑΥΤΟΚΙΝΗΤΟ Α WHERE Α.Πινακίδα='ΑΧΝ-2699' AND Ε.Πιν=Α.Πινακίδα AND Ε.Μηχ=Μ.Κωδικός AND E.ημ ='26/3/2011'

Προσπελάσεις Ακολουθιακή Σάρωση b r = n r /f r μέση περίπτωση: b r /2 Αν έχουμε διάταξη κατά γνώρισμα k: Selecíon Cardinality SC SC(k, r) = n r /V(k, r) b(k, r) = log 2 (V(k, r)) + SC(k, r)/f r 1 Προσπέλαση αν το k είναι και κλειδί b(k, r) = log 2 (b r )

Προσπελάσεις Δένδρο HT = log(v(k, rel))/log(fanout) SC(k, rel) = n r /V(k, rel) b(k, r) = HT + SC(k, rel)/f r

Παράδειγμα 3 (e-id,e-name,e-address,e-aage,e-asalary) σ e name= George (employee) n employee = 20.000 f employee = 50 V(e salary, employee) = 100 V(e age, employee) = 40 V(e name, employee) = 100

Παράδειγμα Ακολουθιακή Σάρωση b employee =

Παράδειγμα Ακολουθιακή Σάρωση b employee = n employee /f employee = 400

Παράδειγμα Αραιό Ευρετήριο B-Tree fanout = 50 Πλήθος Επιπέδων:

Παράδειγμα Αραιό Ευρετήριο B-Tree fanout = 50 Πλήθος Επιπέδων: HT =

Παράδειγμα Αραιό Ευρετήριο B-Tree fanout = 50 Πλήθος Επιπέδων: HT = log(#entries)/log(fanout)

Παράδειγμα Αραιό Ευρετήριο B-Tree fanout = 50 Πλήθος Επιπέδων: HT = log(#entries)/log(fanout) = 2 επίπεδα

Παράδειγμα Αραιό Ευρετήριο B-Tree fanout = 50 Πλήθος Επιπέδων: HT = log(#entries)/log(fanout) = 2 επίπεδα Πλήθος Προσπελάσεων:

Παράδειγμα Αραιό Ευρετήριο B-Tree fanout = 50 Πλήθος Επιπέδων: HT = log(#entries)/log(fanout) = 2 επίπεδα Πλήθος Προσπελάσεων: HT + SC(e name, employee)/f employee =

Παράδειγμα Αραιό Ευρετήριο B-Tree fanout = 50 Πλήθος Επιπέδων: HT = log(#entries)/log(fanout) = 2 επίπεδα Πλήθος Προσπελάσεων: HT + SC(e name, employee)/f employee =2 + (20.000/100)/50 = 6

1 2 3 4 5 6

Abraham Silberschatz, Henry F. Korth and S. Sudarshan, Database System Concepts Fourth Edition, McGraw-Hill, 2002 Raghu Ramakrishnan and Johannes Gehkre, Database Management Systems Second Edition, McGraw Hill, 2000