EN - FR - DE - ES - IT - PT -

LexiconDream

📇 Ευρετήριο

Μια δομή δεδομένων που επιταχύνει την ανάκτηση εγγραφών βάσης δεδομένων.

Ευρετήριο

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

Τα ευρετήρια έχουν ένα κόστος. Καταλαμβάνουν χώρο. Επιβραδύνουν τις εισαγωγές, τις ενημερώσεις και τις διαγραφές επειδή το ευρετήριο πρέπει επίσης να ενημερώνεται. Κάθε εγγραφή γίνεται πιο ακριβή. Το πλεονέκτημα είναι οι ταχύτερες αναγνώσεις. Για φόρτους εργασίας με μεγάλο φόρτο εργασίας ανάγνωσης, τα ευρετήρια είναι απαραίτητα. Για φόρτους εργασίας με μεγάλο φόρτο εργασίας εγγραφής, πάρα πολλά ευρετήρια βλάπτουν την απόδοση. Η επιλογή των στηλών που θα καταχωρηθούν στο ευρετήριο απαιτεί την κατανόηση των μοτίβων ερωτημάτων. Οι στήλες που χρησιμοποιούνται στις ρήτρες WHERE, στις συνθήκες JOIN και στις ρήτρες ORDER BY είναι καλές υποψήφιες. Οι στήλες με χαμηλή πληθικότητα, όπως μια δυαδική σημαία, είναι κακές υποψήφιες επειδή το ευρετήριο δεν περιορίζει πολύ την αναζήτηση. Τα σύνθετα ευρετήρια καλύπτουν πολλαπλές στήλες και μπορούν να εξυπηρετούν ερωτήματα που φιλτράρουν σε πολλά πεδία. Η σειρά των στηλών σε ένα σύνθετο ευρετήριο έχει σημασία. Η βάση δεδομένων μπορεί να χρησιμοποιήσει ένα σύνθετο ευρετήριο για ερωτήματα στην πρώτη στήλη, αλλά όχι μόνο στις τελευταίες στήλες. Ο σχεδιασμός ευρετηρίου είναι ένας συμβιβασμός. Ο στόχος είναι να επιταχυνθούν τα ερωτήματα που έχουν σημασία χωρίς να επιβραδυνθούν οι εγγραφές περισσότερο από όσο χρειάζεται.

Τύποι ευρετηρίου

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


Warning: session_start(): Cannot start session when headers already sent in /var/www/lexicondream.com/inc/functions.php on line 63

Comments (3)

  1. Derek S.
    Database indexes are a tradeoff. They speed up reads but slow down writes and take up space. Knowing when to add one is an art.
  2. Pam L.
    A primary key automatically creates an index. That's something a lot of beginners don't realize.
  3. Chris T.
    Without an index the database has to scan every row. With one it can jump straight to the data. Huge performance difference.

Leave a comment