Χωρίς ένα ευρετήριο, ένας υπολογιστής πρέπει να διαβάσει κάθε εγγραφή σε έναν πίνακα μέχρι να εντοπίζει αυτό που ταιριάζει με ένα κριτήριο . Για παράδειγμα , σε απευθείας σύνδεση λιανοπωλητής έχει έναν πίνακα βάσης δεδομένων που περιέχει 100.000 πελάτες . Όταν Joe Smith συνδέεται με την ταυτότητα του πελάτη του , ο υπολογιστής θα πρέπει να διαβάσει δεκάδες χιλιάδες εγγραφές μέχρι να βρίσκεται του . Από μόνη της , η διαδικασία διαρκεί μερικά δευτερόλεπτα ? Πολλαπλασιάζεται με χιλιάδες πελάτες , αυτό γίνεται ώρες επιπλέον επεξεργασία . Ένα ευρετήριο αποθηκεύει μόνο τα αναγνωριστικά πελάτη σε ένα ξεχωριστό αρχείο που διοργανώνονται για γρήγορη πρόσβαση . DB2 εντοπίζει τη θέση του επιθυμητού εγγραφή στο αρχείο μετά την ανάγνωση μερικές εγγραφές δείκτη? Με τον αριθμό θέσης , ανακτά το αρχείο στον κύριο πίνακα άμεσα . Χρησιμοποιώντας ένα ευρετήριο , DB2 βρίσκει ένα αρχείο μέσα σε λίγα χιλιοστά του δευτερολέπτου , σε μεγάλο βαθμό την επιτάχυνση πολλές εργασίες βάσης δεδομένων .
Εικόνων Ισότητα και ανισότητα
Η
Ένα τυπικό πρόγραμμα χρησιμοποιεί μια ισότητα για να ανακτήσετε έναν δείκτη εγγραφή από ένα πίνακα DB2 , όπως ο κώδικας που ακολουθεί απεικονίζει SQL : SELECT
-πελάτη , διεύθυνση, πόλη , πολιτεία ΑΠΟ ΟΠΟΥ πελάτες CUSTOMER_ID = '51412 ' ?
η WHERE σε η εντολή SELECT εξισώνει το πεδίο CUSTOMER_ID σε μια τιμή αναγνωριστικό πελάτη . Περιστασιακά , μπορεί να θέλετε να δείτε τα αρχεία με ένα εύρος τιμών , όπως στην ακόλουθη δήλωση SQL : SELECT
-πελάτη , διεύθυνση, πόλη , πολιτεία ΑΠΟ ΟΠΟΥ πελάτες CUSTOMER_ID > = '51400 ' ?
Εδώ , η δήλωση τραβά πολλές εγγραφές από τη βάση δεδομένων , αρχίζοντας με το ένα που έχει ένα αναγνωριστικό πελάτη μεγαλύτερο ή ίσο με 51.400 . Η χρήση του είναι μεγαλύτερη από ή ίση με το σύμβολο είναι ένα παράδειγμα μιας ανισότητας. Παρά το γεγονός ότι η ισότητα ανακτά εγγραφές που ταιριάζουν σε ένα και μόνο αξία , μια ανισότητα βρίσκει αρχεία μεγαλύτερης ή μικρότερης αξίας .
Η Ο Τελεστής Like
Η
DB2 χρησιμοποιεί δείκτης ενός πίνακα όπου δυνατόν, αν και αυτό εξαρτάται από όρο WHERE δήλωση SQL σας . Εάν η δήλωση έχει ανισότητες , DB2 μπορούν να εξακολουθούν να χρησιμοποιούν το δείκτη , αλλά η απόδοση μπορεί να υποφέρει . Η τελεστή LIKE δείχνει πώς ο δείκτης λειτουργεί σε διαφορετικές καταστάσεις , στην πραγματικότητα δημιουργεί ανισότητες με χαρακτήρες μπαλαντέρ της , "%" και η πιο αποτελεσματική πρόταση SQL επιλέγει ένα ενιαίο, αδιάσπαστο σειρά , όπως φαίνεται στο παρακάτω SQL " _ ". :
SELECT -πελάτη , διεύθυνση, πόλη , πολιτεία ΑΠΟ ΟΠΟΥ πελάτες CUSTOMER_ID LIKE '514 % ' ? " . 514 "
Η δήλωση βρίσκει όλα τα αρχεία που έχουν customer_IDs αρχίζοντας με DB2 βρίσκει την πρώτη εγγραφή που πληροί το κριτήριο αυτό , ανακτά όλες τις μεταγενέστερες εγγραφές που ταιριάζουν , τότε σταματά . Η επόμενη δήλωση SQL είναι λιγότερο αποτελεσματική :
SELECT -πελάτη , διεύθυνση, πόλη , πολιτεία ΑΠΟ ΟΠΟΥ πελάτες » _1400 » CUSTOMER_ID LIKE ?
Εδώ , το χαρακτήρα μπαλαντέρ " _ " καθορίζει όλες τις ταυτότητες των πελατών που τελειώνει με " 1400 " , αλλά η οποία αρχίζει με οποιοδήποτε αριθμό . DB2 πρέπει να αναζητήσετε το μεγαλύτερο μέρος του δείκτη , βρίσκοντας όλα τα αναγνωριστικά που αρχίζουν με " 1 ", " 2 " και ούτω καθεξής μέχρι το τέλος του πίνακα . Ο δείκτης αποθηκεύει λιγότερο χρόνο σε αυτή την κατάσταση . Εικόνων
Ευρετήρια πολλαπλών πεδίων
Η
Οι ρήτρες ΟΠΟΥ πολλές προτάσεις SELECT καθορίσετε πολλούς τομείς . Για να βελτιωθεί η ταχύτητα αυτών επιλέγει , ένας δείκτης μπορεί να φιλοξενήσει περισσότερα από ένα πεδία . Για παράδειγμα, η ακόλουθη SQL αναζητά αρχεία χρησιμοποιώντας ένα συνδυασμό των δραστηριοτήτων της ισότητας και της ανισότητας :
SELECT -πελάτη , διεύθυνση, πόλη , πολιτεία ΑΠΟ ΟΠΟΥ πελάτες state = ' IL ' ΚΑΙ zip_code > = '60600 ' ?
Αν έχετε συχνά ανακτήσετε τα δεδομένα , χρησιμοποιώντας τα ίδια πεδία και τα κριτήρια , να δημιουργήσετε ένα νέο δείκτη που συνδυάζει τα πεδία . Για καλύτερη απόδοση , τοποθετήστε τα πεδία της ισότητας στο δείκτη πρώτος, ακολουθούμενος από τους τομείς της ανισότητας .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα