Перш ніж запустити тест / базову лінію для програми, що використовує SQL Server, я хочу мати можливість встановити екземпляр у "чистому" стані, не перезапускаючи примірник. Є кроки, до яких я схильний слідувати, але я хочу створити остаточний список, який є у правильній послідовності та не має зайвих кроків.
Чи відповідає цей перелік кроків встановлення SQL Server на "чистий" стан?
Логічна / правильна послідовність?
Чи є зайві кроки?
CHECKPOINT -- Write all dirty pages
DBCC DROPCLEANBUFFERS -- All should be clean after checkpoint?
DBCC FREEPROCCACHE -- Clear the plan cache
DBCC FREESYSTEMCACHE -- Is this necessary after FREEPROCCACHE?
DBCC FREESESSIONCACHE -- May not be necessary if distributed queries aren't used, but want to catch all scenarios
EXEC SP_UPDATESTATS -- Refresh stats
'BEGIN TESTING!'
DROPCLEANBUFFERS
це приємно для тестування, але не завжди точно. Якщо ви посилаєтесь на таблицю з великим обсягом, дуже ймовірно, у вас майже завжди будуть сторінки в пам'яті, а час введення-виводу не буде великим фактором у цьому запиті. Ви можете надати більше ваги на IO, ніж це реально в цьому випадку.