Το BCC DROPCLEANBUFFERS χρησιμοποιείται για την εκκαθάριση της προσωρινής μνήμης δεδομένων στη μνήμη και γενικά όταν κάνουμε συντονισμό απόδοσης, θα εκτελέσουμε το DBCC DROP CLEANBUFFERS πριν από την εκτέλεση της δήλωσης, προκειμένου να διευκολύνουμε τον χρόνο εκτέλεσης και τη φυσική κατανάλωση IO μιας δήλωσης.
Ωστόσο, αυτό το κόλπο δεν είναι πάντα πολύ αποτελεσματικό.
Μερικοί άνθρωποι μπορεί να έχουν αντιμετωπίσει αυτό το φαινόμενο,Ακόμα κι αν εκτελεστούν DBCC DROPCLEANBUFFERS, εξακολουθεί να μην υπάρχει φυσική ανάγνωση στις πληροφορίες εξόδου του SSMS και αυτή η δήλωση εξακολουθεί να είναι τα δεδομένα που διαβάζονται από τη μνήμη (λογική ανάγνωση)。
Θα εκπλαγείτε, «Δεν αδειάζει το buffer στη μνήμη, γιατί δεν υπάρχει φυσική ανάγνωση;» Είναι αυτό το φαινόμενο μη έγκυρο DBCC DROPCLEANBUFFERS; ”
Όχι. Το DROP CLEANBUFFERS μπορεί πράγματι να χρησιμοποιηθεί για την εκκαθάριση της προσωρινής μνήμης δεδομένων στη μνήμη, αλλά μόνο των σελίδων προσωρινής μνήμης σε καθαρή κατάσταση, από την άλλη πλευρά, εάν αυτές οι σελίδες είναι βρώμικες σελίδες, δηλαδή σελίδες δεδομένων στη μνήμη που έχουν τροποποιηθεί και δεν έχουν συγχρονιστεί με το δίσκο, τότε δεν μπορεί να διαγραφεί από την προσωρινή μνήμη, αυτό συμβαίνει για λόγους απόδοσης.
Έτσι, όταν αντιμετωπίζετε το DROP CLEANBUFFERS "μη έγκυρο", δοκιμάστε να συγχρονίσετε χειροκίνητα τις σελίδες δεδομένων στη μνήμη και στο δίσκο, εκτελώντας:
Μπορείτε επίσης να ελέγξετε τον αριθμό και το μέγεθος των καθαρών σελίδων και των βρώμικων σελίδων στην τρέχουσα μνήμη λέγοντας τα εξής:
Εντολή εκκαθάρισης προσωρινής μνήμης:
Αρχικός:Η σύνδεση με υπερσύνδεσμο είναι ορατή. |