BCC DROPCLEANBUFFERS се използва за изчистване на кеша с данни в паметта и обикновено при настройка на производителността изпълняваме DBCC DROP CLEANBUFFERS преди изпълнението на оператора, за да улесним времето за изпълнение и физическото потребление на изход.
Въпреки това, този трик не винаги е много ефективен.
Някои хора може да са се сблъсквали с този феномен,Дори ако DBCC DROPCLEANBUFFERS се изпълняват, все още няма физическо четене в изходната информация на SSMS, и това изявление остава данните, прочетени от паметта (логическо четене).。
Ще се изненадате: "Не е ли буферът в паметта изпразнен, защо няма физическо четене?" Това явление невалидно ли е за DBCC DROPCLEANBUFFERS? ”
Не. DROP CLEANBUFFERS наистина могат да се използват за изчистване на кеша на данните в паметта, но само кеш страниците в чисто състояние; от друга страна, ако тези страници са мръсни страници, т.е. страници с данни в паметта, които са модирани и не са синхронизирани с диска, тогава те не могат да бъдат изчистени от кеша, това е поради причини за производителност.
Затова, когато срещнете DROP CLEANBUFFERS "невалидни", опитайте ръчно да синхронизирате страниците с данни в паметта и диска, изпълнявайки следното:
Можете също да проверите броя и размера на чистите и мръсните страници в текущата памет, като кажете следното:
Команда за почистване на кеша:
Оригинален:Входът към хиперлинк е видим. |