BCC DROPCLEANBUFFERS sa používa na vyčistenie dátovej cache v pamäti a vo všeobecnosti pri ladení výkonu vykonáme DBCC DROP CLEANBUFFERS pred vykonaním príkazu, aby sme uľahčili čas vykonávania a fyzickú IO spotrebu príkazu.
Tento trik však nie je vždy veľmi účinný.
Niektorí ľudia sa s týmto javom mohli stretnúť,Aj keď sa spustia DBCC DROPCLEANBUFFERY, stále neexistuje fyzické čítanie výstupných informácií SSMS a tento príkaz je stále čítaný z pamäte (logické čítanie)。
Budete prekvapení: "Nie je buffer v pamäti vyprázdnený, prečo nie je fyzické čítanie?" Je tento jav neplatný DBCC DROPCLEANBUFFER? ”
Nie. DROP CLEANBUFFER je možné skutočne použiť na vymazanie dátovej cache v pamäti, ale iba cache stránok v čistom stave, na druhej strane, ak sú tieto stránky špinavé, teda dátové stránky v pamäti, ktoré boli upravené a neboli synchronizované s diskom, nemôžu byť z cache vymazané, je to z dôvodu výkonu.
Takže keď narazíte na DROP CLEANBUFFERS "neplatný", skúste manuálne synchronizovať dátové stránky v pamäti a na disku, pričom vykonáte:
Môžete tiež skontrolovať počet a veľkosť čistých a špinavých stránok v aktuálnej pamäti takto:
Príkaz na čistenie cache:
Originál:Prihlásenie na hypertextový odkaz je viditeľné. |