Διαφορά μεταξύ του δείκτη συμπλέγματος και του μη συμπλέγματος

Anonim

Δείκτης Cluster vs Non Cluster Index

Οι δείκτες είναι πολύ σημαντικοί σε οποιαδήποτε βάση δεδομένων. Χρησιμοποιούνται για τη βελτίωση της απόδοσης των δεδομένων από τους πίνακες. Είναι λογικά και φυσικά ανεξάρτητα από τα δεδομένα στους σχετικούς πίνακες. Επομένως, οι δείκτες μπορούν να πέσουν, να αναδημιουργηθούν και να ξαναχτιστούν χωρίς να επηρεαστούν τα δεδομένα των βασικών πινάκων. Ο διακομιστής Oracle μπορεί να διατηρήσει αυτόματα τα ευρετήρια του χωρίς καμία εμπλοκή ενός DBA, όταν οι σχετικοί πίνακες εισαχθούν, ενημερωθούν και διαγραφούν. Υπάρχουν διάφοροι τύποι ευρετηρίων. Εδώ είναι μερικοί από αυτούς.

1. Δείκτες B-δέντρου

2. Δείκτες bitmap

3. Λειτουργικοί δείκτες

4. Δείκτες αναστροφής πλήκτρων

5. Δείκτης συμπλέγματος B-δέντρων

Τι είναι ένας δείκτης μη συμπλέγματος;

Από τους παραπάνω τύπους ευρετηρίου, ακολουθούν τα μη συγκεντρωμένα ευρετήρια.

• Δείκτης B-δέντρου

• Δείκτης Bitmap

• Δείκτης βάσει λειτουργιών

• Ευρετήρια αντιστροφής κλειδιού

Τα ευρετήρια των δέντρων B είναι ο ευρέως χρησιμοποιούμενος τύπος ευρετηρίου των βάσεων δεδομένων. Εάν η εντολή CREATE INDEX εκδοθεί στη βάση δεδομένων, χωρίς να προσδιοριστεί ένας τύπος, ο διακομιστής Oracle δημιουργεί ένα ευρετήριο b-tree. Όταν δημιουργείται ένα ευρετήριο b-tree σε μια συγκεκριμένη στήλη, ο διακομιστής oracle αποθηκεύει τις τιμές της στήλης και διατηρεί μια αναφορά στην πραγματική γραμμή του πίνακα.

Τα ευρετήρια bitmap δημιουργούνται όταν τα δεδομένα της στήλης δεν είναι πολύ επιλεκτικά. Αυτό σημαίνει ότι τα δεδομένα της στήλης έχουν χαμηλή ακρίβεια. Αυτά είναι ειδικά σχεδιασμένα για αποθήκες δεδομένων και δεν είναι καλό να χρησιμοποιείτε ευρετήρια bitmap σε ιδιαίτερα ενημερωμένους ή συναλλακτικούς πίνακες.

Οι λειτουργικοί δείκτες προέρχονται από το Oracle 8i. Εδώ, χρησιμοποιείται μια συνάρτηση στη στήλη με ευρετήριο. Επομένως, σε ένα λειτουργικό ευρετήριο, τα δεδομένα της στήλης δεν ταξινομούνται κανονικά. Διαχωρίζει τις τιμές των στηλών μετά την εφαρμογή της λειτουργίας. Αυτά είναι πολύ χρήσιμα όταν χρησιμοποιείται μια λειτουργία WHERE κλείνει το επιλεγμένο ερώτημα.

Οι δείκτες αντίστροφης κλειδιού είναι ένας πολύ ενδιαφέρων τύπος ευρετηρίου. Ας υποθέσουμε ότι μια στήλη περιέχει πολλά μοναδικά δεδομένα συμβολοσειράς όπως 'cityA', 'cityB', 'cityC' … κλπ. Όλες οι τιμές έχουν ένα μοτίβο. Οι πρώτοι τέσσερις χαρακτήρες είναι οι ίδιοι και τα επόμενα μέρη αλλάζουν. Έτσι, όταν δημιουργείται δείκτης κλειδιού REVERSE σε αυτήν τη στήλη, η Oracle θα αντιστρέψει τη συμβολοσειρά και θα την επαναφέρει σε ένα δείκτη b-tree.

Οι παραπάνω αναφερθέντες τύποι ευρετηρίου είναι δείκτες που δεν είναι CLUSTERED. Αυτό σημαίνει ότι τα ευρεθέντα δεδομένα αποθηκεύονται εκτός του πίνακα και διατηρείται μια ταξινομημένη αναφορά στον πίνακα.

Τι είναι ένας ευρετηριασμένος δείκτης;

Τα ομαδοποιημένα ευρετήρια είναι ένας ειδικός τύπος δεικτών. Αποθηκεύει δεδομένα σύμφωνα με τον τρόπο αποθήκευσης δεδομένων πίνακα φυσικά. Επομένως, δεν μπορούν να υπάρχουν πολλοί συσσωρευμένοι δείκτες για ένα τραπέζι. Ένας πίνακας μπορεί να έχει μόνο ένα συγκεντρωτικό ευρετήριο.

Ποια είναι η διαφορά μεταξύ των δεικτών με συμπλέγματα και μη συμπλεγμένων;

1. Ο πίνακας μπορεί να έχει μόνο ένα ευρετήριο συμπλέγματος, αλλά μπορεί να υπάρχουν μέχρι και 249 μη συγκεντρωμένα ευρετήρια σε έναν πίνακα.

2. Το συμπλεγμένο ευρετήριο δημιουργείται αυτόματα όταν δημιουργείται ένα πρωτεύον κλειδί, αλλά δημιουργείται ένα μη συμπλεγμένο ευρετήριο όταν δημιουργηθεί ένα μοναδικό κλειδί.

3. Η λογική σειρά του ομαδοποιημένου ευρετηρίου αντιστοιχεί στην φυσική σειρά των δεδομένων πίνακα, αλλά σε μη συγκεντρωμένα ευρετήρια, δεν συμβαίνει.