Διαφορά μεταξύ Clustered και μη ομαδοποιημένο ευρετήριο
Βασική διαφορά μεταξύ Clustered και Non-clustered Index
- Ένα ευρετήριο συμπλέγματος είναι ένας τύπος ευρετηρίου που ταξινομεί τις σειρές δεδομένων στον πίνακα με βάση τις βασικές τους τιμές, ενώ ο μη συμπλεγματοποιημένος δείκτης αποθηκεύει τα δεδομένα σε μια τοποθεσία και τους δείκτες σε μια άλλη τοποθεσία.
- ClusterΤο ευρετήριο ed αποθηκεύει σελίδες δεδομένων στους κόμβους φύλλων του ευρετηρίου, ενώ η μέθοδος μη ομαδοποιημένου ευρετηρίου δεν αποθηκεύει ποτέ σελίδες δεδομένων στους κόμβους φύλλων του ευρετηρίου.
- Το ευρετήριο συμπλέγματος δεν απαιτεί πρόσθετο χώρο στο δίσκο, ενώ το ευρετήριο μη συμπλέγματος απαιτεί επιπλέον χώρο στο δίσκο.
- Cluster Το ευρετήριο προσφέρει ταχύτερη πρόσβαση σε δεδομένα, από την άλλη πλευρά, ο μη ομαδοποιημένος ευρετήριο είναι πιο αργός.

Τι είναι το ευρετήριο;
Ένα ευρετήριο είναι ένα κλειδί που δημιουργείται από μία ή περισσότερες στήλες στη βάση δεδομένων που επιταχύνει την ανάκτηση γραμμών από τον πίνακα ή την προβολή. Αυτό το κλειδί βοηθά μια βάση δεδομένων όπως Oracle, SQLServer, MySQL, κ.λπ. για να βρείτε γρήγορα τη σειρά που σχετίζεται με τις βασικές τιμές.
Δύο τύποι δεικτών είναι:
- Clusterεκδ. Ευρετήριο
- Μη-Clusterεκδ. Ευρετήριο
Τι είναι ένα Clustered ευρετήριο;
Cluster index είναι ένας τύπος ευρετηρίου που ταξινομεί τις σειρές δεδομένων στον πίνακα με βάση τις βασικές τους τιμές. Στη βάση δεδομένων, υπάρχει μόνο ένα ομαδοποιημένο ευρετήριο ανά πίνακα.
Ένα ομαδοποιημένο ευρετήριο ορίζει τη σειρά με την οποία αποθηκεύονται τα δεδομένα στον πίνακα, τα οποία μπορούν να ταξινομηθούν μόνο με έναν τρόπο. Έτσι, μπορεί να υπάρχει μόνο ένας ομαδοποιημένος δείκτης για κάθε πίνακα. Σε ένα RDBMS, συνήθως, το πρωτεύον κλειδί σάς επιτρέπει να δημιουργήσετε ένα συμπλεγμένο ευρετήριο με βάση τη συγκεκριμένη στήλη.
Τι είναι ο μη ομαδοποιημένος δείκτης;
Ένα μη ομαδοποιημένο ευρετήριο αποθηκεύει τα δεδομένα σε μια τοποθεσία και τους δείκτες σε μια άλλη τοποθεσία. Το ευρετήριο περιέχει δείκτες για τη θέση αυτών των δεδομένων. Ένας μεμονωμένος πίνακας μπορεί να έχει πολλούς μη ομαδοποιημένους ευρετήρια, καθώς ένα ευρετήριο στο μη ομαδοποιημένο ευρετήριο αποθηκεύεται σε διαφορετικά σημεία.
Για παράδειγμα, ένα βιβλίο μπορεί να έχει περισσότερα από ένα ευρετήρια, ένα στην αρχή που εμφανίζει τα περιεχόμενα μιας μονάδας βιβλίου, ενώ το δεύτερο ευρετήριο εμφανίζει το ευρετήριο των όρων με αλφαβητική σειρά.
Ένας μη ομαδοποιητικός δείκτης ορίζεται στο πεδίο μη σειράς του πίνακα. Αυτός ο τύπος μεθόδου ευρετηρίασης σάς βοηθά να βελτιώσετε την απόδοση των ερωτημάτων που χρησιμοποιούν κλειδιά που δεν έχουν εκχωρηθεί ως πρωτεύον κλειδί. Ένα μη ομαδοποιημένο ευρετήριο σάς επιτρέπει να προσθέσετε ένα μοναδικό κλειδί για έναν πίνακα.
Χαρακτηριστικό του Clusterεκδ. Ευρετήριο
- Προεπιλεγμένη και ταξινομημένη αποθήκευση δεδομένων
- Χρησιμοποιήστε μόνο μία ή περισσότερες από μία στήλες για ένα ευρετήριο
- Σας βοηθά να αποθηκεύετε δεδομένα και ευρετήριο μαζί
- Θρυμματισμός
- Operaσεις
- Clustered σάρωση ευρετηρίου και αναζήτηση ευρετηρίου
- Αναζήτηση κλειδιού
Χαρακτηριστικά των μη ομαδοποιημένων δεικτών
- Αποθηκεύστε μόνο τις βασικές τιμές
- Δείκτες προς Σωρό/Clustered Σειρές ευρετηρίου
- Επιτρέπει την πρόσβαση σε δευτερεύοντα δεδομένα
- Γέφυρα στα δεδομένα
- Operaσάρωσης ευρετηρίου και αναζήτησης ευρετηρίου
- Μπορείτε να δημιουργήσετε ένα μη συμπλεγμένο ευρετήριο για έναν πίνακα ή μια προβολή
- Κάθε σειρά ευρετηρίου στο μη συμπλεγματοποιημένο ευρετήριο αποθηκεύει τη μη συμπλεγματοποιημένη τιμή κλειδιού και έναν εντοπιστή σειράς
Clustered vs Non-clustered Index in SQL: Key Differences
Παράμετροι | Clustered | Μη ομαδοποιημένα |
---|---|---|
Χρήση για | Μπορείτε να ταξινομήσετε τις εγγραφές και να αποθηκεύσετε ομαδοποιημένο ευρετήριο στη μνήμη σύμφωνα με την παραγγελία. | Ένα μη συμπλεγμένο ευρετήριο σάς βοηθά να δημιουργήσετε μια λογική σειρά για σειρές δεδομένων και χρησιμοποιεί δείκτες για φυσικά αρχεία δεδομένων. |
Μέθοδος αποθήκευσης | Σας επιτρέπει να αποθηκεύετε σελίδες δεδομένων στους κόμβους φύλλων του ευρετηρίου. | Αυτή η μέθοδος ευρετηρίασης δεν αποθηκεύει ποτέ σελίδες δεδομένων στους κόμβους φύλλων του ευρετηρίου. |
Μέγεθος | Το μέγεθος του ομαδοποιημένου δείκτη είναι αρκετά μεγάλο. | Το μέγεθος του μη ομαδοποιημένου δείκτη είναι μικρό σε σύγκριση με τον ομαδοποιημένο δείκτη. |
Πρόσβαση δεδομένων | Ταχύτερη | Πιο αργό σε σύγκριση με τον ομαδοποιημένο δείκτη |
Πρόσθετος χώρος στο δίσκο | Δεν απαιτείται | Απαιτείται για την αποθήκευση του ευρετηρίου ξεχωριστά |
Τύπος κλειδιού | Από προεπιλογή, τα κύρια κλειδιά του πίνακα είναι α Clusterεκδ. Ευρετήριο. | Μπορεί να χρησιμοποιηθεί με μοναδικό περιορισμό στον πίνακα που λειτουργεί ως σύνθετο κλειδί. |
Κύριο χαρακτηριστικό | Ένας ομαδοποιημένος δείκτης μπορεί να βελτιώσει την απόδοση της ανάκτησης δεδομένων. | Θα πρέπει να δημιουργηθεί σε στήλες που χρησιμοποιούνται σε ενώσεις. |
Ένα παράδειγμα ομαδοποιημένου ευρετηρίου
Στο παρακάτω παράδειγμα, το SalesOrderDetailID είναι το ευρετήριο συμπλέγματος. Δείγμα ερωτήματος για ανάκτηση δεδομένων
SELECT CarrierTrackingNumber, UnitPrice FROM SalesData WHERE SalesOrderDetailID = 6
Ένα παράδειγμα ενός μη ομαδοποιημένου ευρετηρίου
Στο παρακάτω παράδειγμα, δημιουργείται ένα μη συμπλεγμένο ευρετήριο στο OrderQty και το ProductID ως εξής
CREATE INDEX myIndex ON SalesData (ProductID, OrderQty)
Το ακόλουθο ερώτημα θα ανακτηθεί ταχύτερα σε σύγκριση με το ευρετήριο συμπλέγματος.
SELECT Product ID, OrderQty FROM SalesData WHERE ProductID = 714
Πλεονεκτήματα της Clusterεκδ. Ευρετήριο
Τα πλεονεκτήματα/πλεονεκτήματα του ομαδοποιημένου δείκτη είναι:
- ClusterΤα ευρετήρια ed είναι μια ιδανική επιλογή για εύρος ή ομαδοποίηση με ερωτήματα τύπου max, min, count
- Σε αυτόν τον τύπο ευρετηρίου, μια αναζήτηση μπορεί να πάει κατευθείαν σε ένα συγκεκριμένο σημείο δεδομένων, ώστε να μπορείτε να συνεχίσετε να διαβάζετε διαδοχικά από εκεί.
- ClusterΗ μέθοδος ευρετηρίου ed χρησιμοποιεί μηχανισμό τοποθεσίας για να εντοπίσει την καταχώρηση ευρετηρίου στην αρχή μιας περιοχής.
- Είναι μια αποτελεσματική μέθοδος για αναζητήσεις εύρους όταν ζητείται ένα εύρος τιμών κλειδιών αναζήτησης.
- Σας βοηθά να ελαχιστοποιήσετε τις μεταφορές σελίδων και να μεγιστοποιήσετε τις επισκέψεις στην προσωρινή μνήμη.
Πλεονεκτήματα του μη ομαδοποιημένου ευρετηρίου
Τα πλεονεκτήματα της χρήσης μη ομαδοποιημένου ευρετηρίου είναι:
- Ένα ευρετήριο μη ομαδοποίησης σάς βοηθά να ανακτήσετε γρήγορα δεδομένα από τον πίνακα της βάσης δεδομένων.
- Σας βοηθά να αποφύγετε το γενικό κόστος που σχετίζεται με τον ομαδοποιημένο δείκτη
- Ένας πίνακας μπορεί να έχει πολλαπλά μη συγκεντρωμένα ευρετήρια RDBMS. Έτσι, μπορεί να χρησιμοποιηθεί για τη δημιουργία περισσότερων του ενός ευρετηρίων.
Μειονεκτήματα του Clusterεκδ. Ευρετήριο
Ακολουθούν τα μειονεκτήματα/μειονεκτήματα της χρήσης ευρετηρίου συμπλέγματος:
- Πολλά ένθετα με μη διαδοχική σειρά
- Ένα ομαδοποιημένο ευρετήριο δημιουργεί πολλές συνεχείς διαχωρισμούς σελίδων, οι οποίες περιλαμβάνουν σελίδες δεδομένων καθώς και σελίδες ευρετηρίου.
- Επιπλέον εργασία για SQL για ένθετα, ενημερώσεις και διαγραφές.
- Ένα συμπλεγμένο ευρετήριο χρειάζεται περισσότερο χρόνο για την ενημέρωση των εγγραφών όταν αλλάζουν τα πεδία του ευρετηρίου συμπλέγματος.
- Οι κόμβοι φύλλων περιέχουν ως επί το πλείστον σελίδες δεδομένων στο ευρετήριο συμπλέγματος.
Μειονεκτήματα του μη ομαδοποιημένου ευρετηρίου
Ακολουθούν τα μειονεκτήματα/μειονεκτήματα της χρήσης μη ομαδοποιημένου ευρετηρίου:
- Ένα μη ομαδοποιημένο ευρετήριο σάς βοηθά να αποθηκεύετε δεδομένα με λογική σειρά, αλλά δεν επιτρέπει τη φυσική ταξινόμηση σειρών δεδομένων.
- Η διαδικασία αναζήτησης σε μη ομαδοποιημένο ευρετήριο γίνεται δαπανηρή.
- Κάθε φορά που ενημερώνεται το κλειδί ομαδοποίησης, απαιτείται μια αντίστοιχη ενημέρωση στο ευρετήριο μη συμπλέγματος καθώς αποθηκεύει το κλειδί ομαδοποίησης.