A BCC DROPCLEANBUFFERS segítségével tisztítjuk az adatgyorsítótárt a memóriában, és általában, amikor teljesítményhangolást végzünk, a DBCC DROP CLEANBUFFERS-t a kijelentés végrehajtása előtt végrehajtjuk, hogy megkönnyítsük a végrehajtási időt és a fizikai IO fogyasztást.
Ez a trükk azonban nem mindig túl hatékony.
Lehet, hogy egyesek találkoztak ezzel a jelenséggel,Még ha DBCC DROPCLEANBUFFER-eket is futtatnak, az SSMS kimeneti információjában nincs fizikai olvasás, és ez az utasítás továbbra is a memóriából olvasott adat (logikai olvasás)。
Meg fogsz lepődni: "Nem ürült ki az emlék pufferje, miért nincs fizikai olvasás?" Ez a jelenség érvénytelen-e DBCC DROPCLEANBUFFERS esetén? ”
Nem. A DROP CLEANBUFFERS valóban használható az adatgyorsítótár törlésére a memóriában, de csak a tiszta állapotban lévő gyorsítótár oldalakra, viszont ha ezek az oldalak piszkos oldalak, vagyis módosított adatoldalak a memóriában, amelyeket nem szinkronizáltak a lemezlel, akkor nem lehet törölni a gyorsítótárból, ez teljesítmény miatt van.
Tehát amikor a DROP CLEANBUFFERS "invalid" állapota miatt találkozol, próbáld meg kézzel szinkronizálni az adatlapokat a memóriában és a lemezben, így így teljesítve:
A jelenlegi memóriában is ellenőrizheted a tiszta és piszkos oldalak számát és méretét a következők szerint:
Gyorsítótár tisztítás parancs:
Eredeti:A hiperlink bejelentkezés látható. |