BCC DROPCLEANBUFFERS -menetelmää käytetään muistin datavälimuistin tyhjentämiseen, ja yleensä suorituskyvyn säätöä varten suoritetaan DBCC DROP CLEANBUFFERS ennen lauseen suorittamista, jotta suoritusaika ja fyysinen IO-kulutus helpottuvat.
Tämä temppu ei kuitenkaan aina ole kovin tehokas.
Jotkut ihmiset ovat saattaneet kohdata tämän ilmiön,Vaikka DBCC DROPCLEANBUFFERit suoritettaisiin, SSMS:n tulostiedossa ei silti ole fyysistä lukua, ja tämä lause on silti muistista luettu data (looginen luku)。
Tulet yllättymään, "Eikö muistin puskuri ole tyhjä, miksi ei ole fyysistä lukemista?" Onko tämä ilmiö virheellinen DBCC DROPCLEANBUFFERS? ”
Ei. DROP CLEANBUFFERS voidaan tosiaan käyttää tyhjentämään datavälimuistin muistista, mutta vain välimuistisivut puhtaassa tilassa. Toisaalta, jos nämä sivut ovat likaisia sivuja eli muistin tietosivuja, joita on muokattu eikä ole synkronoitu levylle, sitä ei voi tyhjentää välimuistista, mikä johtuu suorituskyvystä.
Joten kun kohtaat DROP CLEANBUFFERin "virheellisiksi", kokeile manuaalisesti synkronoida muistin ja levyn tietosivut, jolloin suoritetaan:
Voit myös tarkistaa puhtaiden ja likaisten sivujen määrän ja koon nykyisessä muistissa sanomalla seuraavaa:
Puhdista välimuistikomento:
Alkuperäinen:Hyperlinkin kirjautuminen on näkyvissä. |