BCC DROPCLEANBUFFERS este folosit pentru a curăța cache-ul de date din memorie și, în general, când facem ajustarea performanței, vom executa DBCC DROP CLEANBUFFERS înainte ca instrucțiunea să fie executată, pentru a facilita timpul de execuție și consumul fizic de IO al unei instrucțiuni.
Totuși, acest truc nu este întotdeauna foarte eficient.
Unii oameni s-ar putea să fi întâlnit acest fenomen,Chiar dacă DBCC DROPCLEANBUFFERS sunt executate, tot nu există o citire fizică în informațiile de ieșire ale SSMS, iar această instrucțiune este tot datele citite din memorie (citire logică)。
Vei fi surprins: "Nu e tampon din memorie golit, de ce nu există o citire fizică?" Este acest fenomen invalid DBCC DROPCLEANBUFFERS? ”
Nu. DROP CLEANBUFFERS pot fi într-adevăr folosite pentru a curăța cache-ul de date din memorie, dar doar paginile cache-ului aflate în stare clean; pe de altă parte, dacă aceste pagini sunt pagini murdare, adică pagini de date din memorie care au fost modificate și nu au fost sincronizate pe disc, atunci acestea nu pot fi șterse din cache, acest lucru din motive de performanță.
Așadar, când întâlnești DROP CLEANBUFFERS "invalid", încearcă să sincronizezi manual paginile de date din memorie și disc, realizând:
De asemenea, poți verifica numărul și dimensiunea paginilor curate și a paginilor murdare din memoria curentă spunând următoarele:
Comandă de curățare a cache-ului:
Original:Autentificarea cu hyperlink este vizibilă. |