|
|
Δημοσιεύτηκε στις 20/9/2019 9:31:08 π.μ.
|
|
|

Η έννοια της ευρετηρίασης
Ο σκοπός της δημιουργίας ενός ευρετηρίου είναι η βελτίωση της απόδοσης του συστήματος βάσης δεδομένων, η επιτάχυνση της ταχύτητας αναζήτησης των δεδομένων και η μείωση του χρόνου απόκρισης του συστήματος. Τι είναι το ευρετήριο: Ένα ευρετήριο σε μια βάση δεδομένων είναι παρόμοιο με έναν πίνακα περιεχομένων για ένα βιβλίο, όπου μπορείτε να βρείτε γρήγορα τις πληροφορίες που θέλετε χωρίς να διαβάσετε ολόκληρο το βιβλίο. Σε μια βάση δεδομένων, ένα πρόγραμμα βάσης δεδομένων χρησιμοποιεί ευρετήρια για να υποβάλει γρήγορα ερωτήματα σε δεδομένα σε έναν πίνακα χωρίς να χρειάζεται να σαρώσει ολόκληρο τον πίνακα. Ο πίνακας περιεχομένων σε ένα βιβλίο είναι μια λίστα λέξεων και οι αριθμοί σελίδων στις οποίες βρίσκονται και το ευρετήριο στη βάση δεδομένων είναι μια λίστα τιμών σε έναν πίνακα και όπου αποθηκεύεται κάθε τιμή. Πλεονεκτήματα και μειονεκτήματα της δημιουργίας ευρετηρίου: Το μεγαλύτερο μέρος της επιβάρυνσης της εκτέλεσης ερωτημάτων είναι I/O και ένας από τους κύριους στόχους της χρήσης ευρετηρίων για τη βελτίωση της απόδοσης είναι να αποφευχθεί η πλήρης σάρωση πίνακα, επειδή η πλήρης σάρωση πίνακα πρέπει να διαβάζει κάθε σελίδα δεδομένων του πίνακα από το δίσκο και εάν υπάρχει ένα ευρετήριο που δείχνει σε μια τιμή δεδομένων, το ερώτημα χρειάζεται να διαβάσει μόνο μερικές φορές στο δίσκο. Επομένως, η λογική χρήση ευρετηρίων μπορεί να επιταχύνει την αναζήτηση δεδομένων. Ωστόσο, τα ευρετήρια δεν βελτιώνουν πάντα την απόδοση του συστήματος, οι πίνακες με ευρετήριο πρέπει να καταλαμβάνουν περισσότερο χώρο αποθήκευσης στη βάση δεδομένων και η ίδια εντολή τροποποίησης και διαγραφής δεδομένων θα χρειαστεί περισσότερο χρόνο για να εκτελεστεί και να διατηρηθεί το ευρετήριο. Επομένως, πρέπει να χρησιμοποιήσουμε το ευρετήριο εύλογα και να το ενημερώσουμε εγκαίρως για να αφαιρέσουμε το μη βέλτιστο ευρετήριο.
Ταξινόμηση δεικτών
Το ευρετήριο είναι παρόμοιο με τον πίνακα περιεχομένων μπροστά από το κινεζικό λεξικό και μπορείτε να εντοπίσετε γρήγορα τη λέξη που θέλετε να βρείτε σύμφωνα με το pinyin ή το κεφαλαίο. ΜΟΝΑΔΙΚΗ: Η τιμή ευρετηρίου κάθε σειράς είναι μοναδική (δημιουργείται ένας μοναδικός περιορισμός και το σύστημα θα δημιουργήσει αυτόματα ένα μοναδικό ευρετήριο). Ευρετήριο πρωτεύοντος κλειδιού: Η στήλη πρωτεύοντος κλειδιού που καθορίζεται κατά τη δημιουργία του πίνακα δημιουργεί αυτόματα ένα ευρετήριο πρωτεύοντος κλειδιού και έχει μοναδικά χαρακτηριστικά. CLUSTERED: Τα ομαδοποιημένα ευρετήρια είναι ισοδύναμα με τη χρήση της αναζήτησης pinyin ενός λεξικού, επειδή το ομαδοποιημένο ευρετήριο αποθηκεύει εγγραφές που είναι φυσικά συνεχείς, δηλαδή, το pinyin a πρέπει να ακολουθείται από b. ΜΗ ΟΜΑΔΟΠΟΙΗΜΕΝΑ: Τα ΜΗ ομαδοποιημένα ευρετήρια είναι ισοδύναμα με τη χρήση ριζών λεξικού για αναζήτηση, τα μη ομαδοποιημένα ευρετήρια είναι λογικά συνεχή και η φυσική αποθήκευση δεν είναι συνεχόμενη. Ένα ομαδοποιημένο ευρετήριο μπορεί να έχει μόνο έναν πίνακα σε έναν πίνακα, ενώ ένα μη ομαδοποιημένο ευρετήριο μπορεί να έχει περισσότερους από έναν πίνακες σε έναν πίνακα.
Ποια πεδία πρέπει να καταχωρηθούν στο ευρετήριο
1. Τα πρωτεύοντα και ξένα κλειδιά του πίνακα πρέπει να έχουν ευρετήριο 2. Οι πίνακες με περισσότερα από 300 δεδομένα θα πρέπει να έχουν ευρετήριο 3. Οι πίνακες που συνδέονται συχνά με άλλους πίνακες θα πρέπει να ευρετηριάζονται στα συνδεδεμένα πεδία 4. Τα πεδία που εμφανίζονται συχνά στον όρο Where, ειδικά αυτά σε μεγάλους πίνακες, θα πρέπει να ευρετηριάζονται 5. Τα πεδία που ταξινομούνται ή ομαδοποιούνται συχνά (π.χ. εκτελούν λειτουργίες GROUP BY ή ORDER BY) θα πρέπει να ευρετηριάζονται 6. Ο δείκτης θα πρέπει να βασίζεται σε εξαιρετικά επιλεκτικούς τομείς 7. Το ευρετήριο θα πρέπει να βασίζεται σε μικρά πεδία, για μεγάλα πεδία κειμένου ή ακόμα και εξαιρετικά μεγάλα πεδία, να μην δημιουργεί ευρετήρια και να χρησιμοποιεί ακέραιους αριθμούς ως βασικές τιμές, επειδή οι ακέραιοι αριθμοί έχουν τη μεγαλύτερη ταχύτητα πρόσβασης 8. Η δημιουργία σύνθετων δεικτών πρέπει να αναλυθεί προσεκτικά. Προσπαθήστε να εξετάσετε το ενδεχόμενο να χρησιμοποιήσετε ευρετήρια ενός πεδίου 9. Οι πίνακες που εκτελούν συχνά χειρισμό δεδομένων δεν πρέπει να ευρετηριάζονται υπερβολικά 10. Διαγράψτε άχρηστα ευρετήρια για να αποφύγετε αρνητικές επιπτώσεις στο σχέδιο εκτέλεσης
Το μειονέκτημα των πάρα πολλών δεικτών
1. Ο αποθηκευτικός χώρος θα γίνει μεγαλύτερος και κάθε ευρετήριο θα πρέπει να αποθηκευτεί στο διάστημα 2. Εάν υπάρχουν πολλά μη ομαδοποιημένα ευρετήρια, μόλις αλλάξει το ομαδοποιημένο ευρετήριο, τότε όλα τα μη ομαδοποιημένα ευρετήρια θα αλλάξουν ανάλογα 3. Πάρα πολλά ευρετήρια θα οδηγήσουν σε αύξηση του αριθμού των συνδυασμών που πρέπει να αξιολογηθούν στη διαδικασία βελτιστοποίησης του βελτιστοποιητή, αυξάνοντας τον χρόνο ερωτήματος 4. Κάθε ευρετήριο έχει στατιστικές πληροφορίες και όσο περισσότεροι δείκτες, τόσο περισσότερες στατιστικές πληροφορίες, γεγονός που αυξάνει τον χρόνο ερωτήματος 5. Ενημερώστε τα γενικά έξοδα, μόλις αλλάξουν τα δεδομένα και αλλάξουν πολλές στήλες, μπορεί να προκαλέσει αλλαγή πολλών ευρετηρίων, με αποτέλεσμα την επιβράδυνση της ενημέρωσης, της διαγραφής και της εισαγωγής
|
Προηγούμενος:Έφηβη δυνατή συνοδεία MV βίντεοΕπόμενος:Η C# λαμβάνει το τρέχον γράμμα δίσκου συστήματος, τον κατάλογο συστήματος, την επιφάνεια εργασίας κ.λπ
|