Может ли кто-нибудь объяснить DBCC DROPCLEANBUFFERS?

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

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

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

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

Ответы

Ответ 1

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

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

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

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

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

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

Ответ 2

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