Πίνακας περιεχομένων:
- Η μνήμη cache της βιβλιοθήκης στο Oracle 12c
- Η μνήμη cache του λεξικού στο Oracle 12c
- Η προσωρινή μνήμη αποτελεσμάτων του διακομιστή στο Oracle 12c
- Λιγότερος πρόσφατα χρησιμοποιούμενος αλγόριθμος στο Oracle 12c
- Η διαδικασία απομάκρυνσης της κρυφής μνήμης της βιβλιοθήκης βασίζεται σε αυτό που ονομάζεται αλγόριθμος
Βίντεο: Πως θα χτίσετε το πελατολόγιό σας 2024
Ορισμένα αντικείμενα και συσκευές στο Oracle 12c χρησιμοποιούνται συχνά. Επομένως, έχει νόημα να είναι έτοιμοι κάθε φορά που θέλετε να κάνετε μια πράξη. Επιπλέον, τα δεδομένα στην κοινόχρηστη ομάδα δεν γράφονται ποτέ στο δίσκο.
Η ίδια η κοινόχρηστη πισίνα αποτελείται από τέσσερις βασικές περιοχές:
-
Μνήμη cache
-
Λεξικό cache
-
Αποθήκευση αποτελεσμάτων διακομιστή
-
Δεσμευμένη πισίνα
Η μνήμη cache είναι μια προσωρινή περιοχή στη μνήμη που δημιουργήθηκε για γρήγορη λήψη πληροφοριών που διαφορετικά θα χρειάζονταν περισσότερο χρόνο για ανάκτηση. Για παράδειγμα, οι κρυφές μνήμες που αναφέρονται στην προηγούμενη λίστα περιέχουν προπληρωμένες πληροφορίες. Αντί ο χρήστης πρέπει να υπολογίζει τιμές κάθε φορά, ο χρήστης μπορεί να έχει πρόσβαση στις πληροφορίες σε μια προσωρινή μνήμη.
Η μνήμη cache της βιβλιοθήκης στο Oracle 12c
Η κρυφή μνήμη της βιβλιοθήκης είναι ακριβώς όπως λέγεται: βιβλιοθήκη. Πιο συγκεκριμένα, είναι μια βιβλιοθήκη έτοιμων δηλώσεων SQL.
Κάθε φορά που εκτελείτε μια εντολή SQL, συμβαίνει πολλά στο παρασκήνιο. Αυτή η δραστηριότητα φόντου ονομάζεται ανάλυσης . Η ανάλυση μπορεί να είναι αρκετά δαπανηρή όσον αφορά την ισχύ επεξεργασίας.
Κατά τη διάρκεια της ανάλυσης, μερικά από αυτά συμβαίνουν:
-
Η σύνταξη της δήλωσης ελέγχεται για να βεβαιωθείτε ότι πληκτρολογήσατε τα πάντα σωστά.
-
Τα αντικείμενα στα οποία αναφέρεστε ελέγχονται. Για παράδειγμα, εάν προσπαθείτε να αποκτήσετε πρόσβαση σε έναν πίνακα που ονομάζεται EMPLOYEE, η Oracle βεβαιώνεται ότι υπάρχει στη βάση δεδομένων.
-
Η Oracle φροντίζει να έχετε την άδεια να κάνετε ό, τι προσπαθείτε να κάνετε.
-
Ο κώδικας μετατρέπεται σε μορφή έτοιμη για τη βάση δεδομένων. Η μορφή ονομάζεται κωδικός byte ή p.
-
Η Oracle καθορίζει τη βέλτιστη διαδρομή ή σχέδιο. Αυτό είναι μακράν το πιο ακριβό κομμάτι.
Κάθε φορά που εκτελείτε μια εντολή, οι πληροφορίες αποθηκεύονται στην προσωρινή μνήμη της βιβλιοθήκης. Με αυτόν τον τρόπο, την επόμενη φορά που θα εκτελέσετε τη δήλωση δεν πρέπει να συμβεί πολλά (όπως έλεγχος δικαιωμάτων).
Η μνήμη cache του λεξικού στο Oracle 12c
Η μνήμη cache του λεξικού χρησιμοποιείται επίσης συχνά για την ανάλυση όταν εκτελείτε SQL. Μπορείτε να το θεωρήσετε ως μια συλλογή πληροφοριών σχετικά με εσάς και τα αντικείμενα της βάσης δεδομένων. Μπορεί να ελέγξει τις πληροφορίες τύπου φόντου.
Η κρυφή μνήμη λεξικού ρυθμίζεται επίσης από τους κανόνες του Λιγότερου Πρόσφατα χρησιμοποιούμενο (LRU) αλγόριθμος: Εάν δεν είναι το σωστό μέγεθος, οι πληροφορίες μπορούν να εξαχθούν. Το να μην έχει αρκετό περιθώριο για την cache του λεξικού μπορεί να επηρεάσει τη χρήση του δίσκου.
Επειδή οι ορισμοί των αντικειμένων και των πληροφοριών που βασίζονται σε δικαιώματα αποθηκεύονται σε αρχεία βάσης δεδομένων, η Oracle πρέπει να διαβάσει δίσκους για να φορτώσει ξανά αυτές τις πληροφορίες στην μνήμη cache του λεξικού. Αυτό είναι πιο χρονοβόρο από το να το πάρει από τη μνήμη cache.Φανταστείτε ένα σύστημα με χιλιάδες χρήστες που εκτελούν συνεχώς SQL … μια λάθος μεγέθους cache λεξικού μπορεί πραγματικά να εμποδίσει την απόδοση.
Όπως και η προσωρινή μνήμη της βιβλιοθήκης, δεν μπορείτε να ελέγξετε απευθείας το μέγεθος της μνήμης cache του λεξικού. Καθώς η συνολική κοινόχρηστη ομάδα αλλάζει σε μέγεθος, το κάνει και η μνήμη cache του λεξικού.
Η προσωρινή μνήμη αποτελεσμάτων του διακομιστή στο Oracle 12c
Η μνήμη cache των αποτελεσμάτων του διακομιστή έχει δύο μέρη:
-
Cache αποτελεσμάτων SQL: Αυτή η μνήμη cache επιτρέπει στην Oracle να δει ότι τα ζητούμενα δεδομένα - που ζητούνται από μια πρόσφατα εκτελεσθείσα εντολή SQL αποθηκεύονται στη μνήμη. Αυτή η κατάσταση επιτρέπει στην Oracle να παραλείψει το τμήμα εκτέλεσης της εκτέλεσης για έλλειψη καλύτερου όρου και να μεταβεί απευθείας στο σύνολο αποτελεσμάτων αν υπάρχει.
Η προσωρινή μνήμη αποτελεσμάτων SQL λειτουργεί καλύτερα σε σχετικά στατικά δεδομένα (όπως η περιγραφή ενός στοιχείου σε έναν ιστότοπο ηλεκτρονικού εμπορίου).
Θα πρέπει να ανησυχείτε για την επιστροφή εσφαλμένων δεδομένων στην προσωρινή μνήμη αποτελεσμάτων; Καθόλου. Η Oracle ακυρώνει αυτόματα τα δεδομένα που είναι αποθηκευμένα στην προσωρινή μνήμη αποτελεσμάτων, αν τροποποιηθεί κάποιο από τα υποκείμενα στοιχεία.
-
Cache αποτελεσμάτων λειτουργίας PL / SQL: Η προσωρινή μνήμη αποτελεσμάτων της λειτουργίας PL / SQL αποθηκεύει τα αποτελέσματα ενός υπολογισμού. Για παράδειγμα, λέτε ότι έχετε μια λειτουργία που υπολογίζει την αξία του δολαρίου με βάση την ισοτιμία του ευρώ. Ενδέχεται να μην θέλετε να αποθηκεύσετε αυτήν την πραγματική τιμή, καθώς αλλάζει συνεχώς.
Αντ 'αυτού, έχετε μια λειτουργία που καλεί μια ημερήσια ή ωριαία τιμή για να καθορίσετε την αξία του δολαρίου. Σε μια οικονομική αίτηση, αυτή η κλήση μπορεί να συμβεί χιλιάδες φορές την ώρα. Επομένως, αντί της εκτέλεσης της λειτουργίας, πηγαίνει κατευθείαν στην προσωρινή μνήμη αποτελεσμάτων PL / SQL για να αποκτήσει τα δεδομένα μεταξύ των ενημερώσεων ρυθμίσεων. Εάν η τιμή αλλάξει, η Oracle εκτελεί εκ νέου τη λειτουργία και ενημερώνει την προσωρινή μνήμη αποτελεσμάτων.
Η εξειδίκευση της αποκλειστικής δεξαμενής για τη διαχείριση μεγάλων κατανομών μνήμης βελτιώνει την απόδοση και μειώνει τη φθορά της μνήμης.
Λιγότερος πρόσφατα χρησιμοποιούμενος αλγόριθμος στο Oracle 12c
Εάν η κρυφή μνήμη της βιβλιοθήκης είναι μικρή στο χώρο, τα αντικείμενα ρίχνονται έξω. Οι δηλώσεις που χρησιμοποιούνται περισσότερο παραμένουν στη μνήμη cache της βιβλιοθήκης για μεγαλύτερο χρονικό διάστημα. Όσο πιο συχνά χρησιμοποιούνται, τόσο λιγότερες πιθανότητες είναι να εκδιωχθούν αν η μνήμη cache της βιβλιοθήκης είναι μικρή.
Η διαδικασία απομάκρυνσης της κρυφής μνήμης της βιβλιοθήκης βασίζεται σε αυτό που ονομάζεται αλγόριθμος
λιγότερο πρόσφατα χρησιμοποιούμενος
(LRU). Εάν το γραφείο σας είναι γεμάτο, τι βάζετε πρώτα μακριά; Τα πράγματα που χρησιμοποιείς το λιγότερο. Δεν μπορείτε να αλλάξετε μόνοι σας το μέγεθος της κρυφής μνήμης της βιβλιοθήκης. Το συνολικό μέγεθος της κοινόχρηστης πισίνας το καθορίζει. Αν νομίζετε ότι εκτοξεύονται πάρα πολλές δηλώσεις, μπορείτε να αυξήσετε το συνολικό μέγεθος κοινόχρηστης λίμνης εάν το συντονίζετε μόνοι σας. Εάν αφήνετε την Oracle να συντονίζει, αρπάζει την ελεύθερη μνήμη από αλλού.