BCC DROPCLEANBUFFERS se používá k vymazání datové cache v paměti a obecně při ladění výkonu spustíme DBCC DROP CLEANBUFFERS před vykonáním příkazu, abychom usnadnili čas vykonání a fyzickou spotřebu IO příkazu.
Tento trik však není vždy velmi účinný.
Někteří lidé se s tímto jevem mohli setkat,I když jsou DBCC DROPCLEANBUFFERY vykonány, stále není fyzicky načtena výstupní informace SSMS a tento příkaz je stále čtením dat z paměti (logickým čtením)。
Budete překvapeni: "Není buffer v paměti vyprázdněný, proč není fyzické čtení?" Je tento jev neplatný DBCC DROPCLEANBUFFER? ”
Ne. DROP CLEANBUFFERS lze skutečně použít k vymazání datové cache v paměti, ale pouze cache stránek v čistém stavu, naopak pokud jsou tyto stránky špinavé, tedy datové stránky v paměti, které byly upraveny a nebyly synchronizovány s diskem, nelze je z cache vymazat, a to z důvodů výkonu.
Když narazíte na DROP CLEANBUFFERS "neplatný", zkuste ručně synchronizovat datové stránky v paměti a na disku a provést následující:
Můžete také zkontrolovat počet a velikost čistých a špinavých stránek v aktuální paměti tím, že řeknete následující:
Příkaz pro čištění cache:
Původní:Přihlášení k hypertextovému odkazu je viditelné. |