Cluster vs Non Cluster Index
Οι δείκτες είναι πολύ σημαντικοί σε κάθε βάση δεδομένων. Χρησιμοποιούνται για τη βελτίωση της απόδοσης της ανάκτησης δεδομένων από πίνακες. Είναι λογικά και φυσικά ανεξάρτητα από τα δεδομένα στους συσχετισμένους πίνακες. Επομένως, τα ευρετήρια μπορούν να απορριφθούν, να αναδημιουργηθούν και να αναδημιουργηθούν χωρίς να επηρεαστούν τα δεδομένα των βασικών πινάκων. Ο διακομιστής Oracle μπορεί να διατηρήσει αυτόματα τα ευρετήρια του χωρίς καμία ανάμειξη DBA, όταν οι σχετικοί πίνακες εισάγονται, ενημερώνονται και διαγράφονται. Υπάρχουν διάφοροι τύποι ευρετηρίου. Εδώ, είναι μερικά από αυτά.
1. Ευρετήρια B-tree
2. Ευρετήρια bitmap
3. Ευρετήρια που βασίζονται σε συναρτήσεις
4. Ευρετήρια αντίστροφου κλειδιού
5. Ευρετήρια συμπλέγματος Β-δέντρων
Τι είναι ένας δείκτης μη συστάδων;
Από τους παραπάνω τύπους ευρετηρίου, ακολουθούν μη ομαδοποιημένα ευρετήρια.
• B-tree index
• Ευρετήριο Bitmap
• Ευρετήριο βάσει συναρτήσεων
• Ευρετήρια αντίστροφου κλειδιού
Οι δείκτες B-tree είναι ο πιο ευρέως χρησιμοποιούμενος τύπος ευρετηρίου βάσεων δεδομένων. Εάν η εντολή CREATE INDEX εκδοθεί στη βάση δεδομένων, χωρίς να καθοριστεί τύπος, ο διακομιστής Oracle δημιουργεί ένα ευρετήριο b-tree. Όταν δημιουργείται ένα ευρετήριο b-tree σε μια συγκεκριμένη στήλη, ο διακομιστής Oracle αποθηκεύει τις τιμές της στήλης και διατηρεί μια αναφορά στην πραγματική γραμμή του πίνακα.
Τα ευρετήρια bitmap δημιουργούνται όταν τα δεδομένα στηλών δεν είναι πολύ επιλεκτικά. Αυτό σημαίνει ότι τα δεδομένα της στήλης έχουν χαμηλή ταυτότητα. Αυτά είναι ειδικά σχεδιασμένα για αποθήκες δεδομένων και δεν είναι καλό να χρησιμοποιείτε ευρετήρια bitmap σε πίνακες με μεγάλη δυνατότητα ενημέρωσης ή συναλλαγών.
Οι λειτουργικοί δείκτες προέρχονται από το Oracle 8i. Εδώ, χρησιμοποιείται μια συνάρτηση στη στήλη με ευρετήριο. Επομένως, σε ένα λειτουργικό ευρετήριο, τα δεδομένα στηλών δεν ταξινομούνται με τον κανονικό τρόπο. Ταξινομεί τις τιμές των στηλών μετά την εφαρμογή της συνάρτησης. Αυτά είναι πολύ χρήσιμα όταν το WHERE κλείσιμο του ερωτήματος επιλογής χρησιμοποιείται μια συνάρτηση.
Τα ευρετήρια με αντίστροφο κλειδί είναι ένας πολύ ενδιαφέρον τύπος ευρετηρίου. Ας υποθέσουμε ότι μια στήλη περιέχει πολλά μοναδικά δεδομένα συμβολοσειράς όπως «cityA», «cityB», «cityC»… κ.λπ. Όλες οι τιμές έχουν ένα μοτίβο. Οι τέσσερις πρώτοι χαρακτήρες είναι ίδιοι και τα επόμενα μέρη αλλάζουν. Έτσι, όταν δημιουργείται ευρετήριο REVERSE κλειδιού σε αυτήν τη στήλη, η Oracle θα αντιστρέψει τη συμβολοσειρά και θα την επαναφέρει σε ένα ευρετήριο b-tree.
Οι προαναφερόμενοι τύποι ευρετηρίου είναι ΜΗ ΣΥΓΚΕΝΤΡΩΜΕΝΑ ευρετήρια. Αυτό σημαίνει ότι τα δεδομένα με ευρετήριο αποθηκεύονται εκτός του πίνακα και διατηρείται μια ταξινομημένη αναφορά στον πίνακα.
Τι είναι ο ομαδοποιημένος δείκτης;
Τα ομαδοποιημένα ευρετήρια είναι ένας ειδικός τύπος ευρετηρίων. Αποθηκεύει δεδομένα σύμφωνα με τον τρόπο φυσικής αποθήκευσης δεδομένων πίνακα. Έτσι, δεν μπορούν να υπάρχουν πολλά ομαδοποιημένα ευρετήρια για έναν πίνακα. Ένας πίνακας μπορεί να έχει μόνο έναν ομαδοποιημένο ευρετήριο.
Ποια είναι η διαφορά μεταξύ συμπλεγματικών και μη ομαδοποιημένων ευρετηρίων;
1. Ο πίνακας μπορεί να έχει μόνο ένα ομαδοποιημένο ευρετήριο, αλλά μπορεί να υπάρχουν έως και 249 μη ομαδοποιημένα ευρετήρια σε έναν πίνακα.
2. Το ευρετήριο συμπλέγματος δημιουργείται αυτόματα όταν δημιουργείται ένα πρωτεύον κλειδί, αλλά ένα μη συμπλεγμένο ευρετήριο δημιουργείται όταν δημιουργείται ένα μοναδικό κλειδί.
3. Η λογική σειρά του ομαδοποιημένου ευρετηρίου ταιριάζει με τη φυσική σειρά των δεδομένων του πίνακα, αλλά σε μη ομαδοποιημένα ευρετήρια, δεν ταιριάζει.