Может кто-нибудь объяснить DBCC DROPCLEANBUFFERS? - PullRequest
18 голосов
/ 19 декабря 2008

Может кто-нибудь объяснить использование DBCC DROPCLEANBUFFERS вместе с оператором CHECKPOINT и привести пример?

Я понимаю, что полезно тестировать производительность перед вашими запросами, но я не до конца понимаю. Также я понятия не имею об использовании в сочетании с оператором CHECKPOINT.

Если я выполню его до того, как мои запросы будут выполняться намного дольше, поэтому я предполагаю, что было бы хорошо сравнить исполнения, но не оценить их точно.

Любая помощь будет оценена!

1 Ответ

27 голосов
/ 19 декабря 2008

CHECKPOINT сбрасывает измененные страницы данных на диск:

[CHECKPOINT] Записывает все грязные страницы для текущей базы данных на диск. Грязные страницы - это страницы данных, которые были введены в буферный кеш и изменены, но еще не записаны на диск. Контрольные точки экономят время при последующем восстановлении, создавая точку, в которой все грязные страницы гарантированно будут записаны на диск.

DBCC DROPCLEANBUFFERS затем удаляет все незапятнанные (чистые) страницы:

Используйте DBCC DROPCLEANBUFFERS для тестирования запросов с холодным буферным кешем без выключения и перезапуска сервера.

Чтобы удалить чистые буферы из пула буферов, сначала используйте CHECKPOINT для создания холодного буферного кеша. Это заставляет все грязные страницы для текущей базы данных быть записанными на диск и очищает буферы. После этого вы можете выполнить команду DBCC DROPCLEANBUFFERS, чтобы удалить все буферы из пула буферов.

Конечным результатом является то, что вы начинаете с кеширования ничего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...