BCC DROPCLEANBUFFERS naudojamas duomenų talpyklai atmintyje išvalyti, ir paprastai, kai atliekame našumo derinimą, prieš vykdant sakinį vykdysime DBCC DROP CLEANBUFFERS, kad palengvintume sakinio vykdymo laiką ir fizinį IO suvartojimą.
Tačiau šis triukas ne visada yra labai efektyvus.
Kai kurie žmonės galėjo susidurti su šiuo reiškiniu,Net jei vykdomi DBCC DROPCLEANBUFFERS, SSMS išvesties informacijoje vis tiek nėra fizinio nuskaitymo, o šis teiginys vis tiek yra iš atminties nuskaitomi duomenys (loginis skaitymas)。
Nustebsite: "Ar atminties buferis neištuštėjęs, kodėl nėra fizinio skaitymo?" Ar šis reiškinys netinkamas DBCC DROPCLEANBUFFERS? ”
Ne. DROP CLEANBUFFERS iš tiesų gali būti naudojamas norint išvalyti duomenų talpyklą atmintyje, bet tik švarios būsenos talpyklos puslapius, kita vertus, jei šie puslapiai yra nešvarūs puslapiai, tai yra duomenų puslapiai atmintyje, kurie buvo modifikuoti ir nebuvo sinchronizuoti su disku, tada jo negalima išvalyti iš talpyklos, taip yra dėl našumo priežasčių.
Taigi, kai susiduriate su DROP CLEANBUFFERS "netinkamu", pabandykite rankiniu būdu sinchronizuoti duomenų puslapius atmintyje ir diske, atlikdami:
Taip pat galite patikrinti švarių ir nešvarių puslapių skaičių ir dydį dabartinėje atmintyje sakydami:
Išvalyti talpyklos komandą:
Originalus:Hipersaito prisijungimas matomas. |