Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как часто нужно чистить кэш сервера ms sql?  [new]
trew
Member

Откуда: Москва
Сообщений: 2635
Как часто нужно чистить кэш сервера ms sql?
DBCC FREEPROCCACHE

Какой регламент этой операции и нужна ли она вообще?
(индексы будут перестраиваться ежедневно ночью)
7 авг 19, 16:34    [21943972]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
invm
Member

Откуда: Москва
Сообщений: 8717
trew
нужна ли она вообще?
Нет.
7 авг 19, 16:55    [21943999]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
trew
Member

Откуда: Москва
Сообщений: 2635
invm,

После перестроения индексов по всей базе + обновление статистики по таблицам, могут планы запросов измениться.
Они (планы запросов) заново построятся в и попадут в кэш?
7 авг 19, 17:01    [21944004]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6639
trew,

произойдет компиляция при первом выполнении и сохранение в кэш, если нет ограничений.
7 авг 19, 17:28    [21944028]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
invm
Member

Откуда: Москва
Сообщений: 8717
trew
Они (планы запросов) заново построятся в и попадут в кэш?
Да.
7 авг 19, 17:48    [21944040]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
trew
Member

Откуда: Москва
Сообщений: 2635
Спасибо за ответы!
7 авг 19, 18:03    [21944049]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
tunknown
Member

Откуда:
Сообщений: 665
trew
Как часто нужно чистить кэш сервера ms sql?
Зависит от того, как много adhoc запросов. Если в базу приложение ходит через ORM, то чистить, бывает, нужно. Ещё зависит от цены выполнения запроса на холодном кеше. Если она не сильно отличается от прогретого, то можно чаще. Если же всё хорошо, чего не бывает, то не нужно совсем.
8 авг 19, 09:31    [21944350]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4935
tunknown
trew
Как часто нужно чистить кэш сервера ms sql?
Зависит от того, как много adhoc запросов.

для этого случае есть опция "optimize for ad hoc workloads"
8 авг 19, 11:02    [21944452]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
Sergey Syrovatchenko
Member

Откуда: Харьков
Сообщений: 103
trew
Как часто нужно чистить кэш сервера ms sql?

komrad
Зависит от того, как много adhoc запросов

SELECT objtype
     , plans = COUNT_BIG(*)
     , size_mb = CAST(SUM(size_in_bytes) / 1024. / 1024 AS DECIMAL(18,2))
     , size1_mb = CAST(SUM((CASE WHEN usecounts = 1 THEN size_in_bytes ELSE 0 END)) / 1024. / 1024 AS DECIMAL(18,2))
     , plans1 = COUNT_BIG(CASE WHEN usecounts = 1 THEN 1 END)
FROM sys.dm_exec_cached_plans
GROUP BY objtype
ORDER BY size_mb DESC

Что запрос вернул?
8 авг 19, 14:29    [21944764]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 4813
komrad
tunknown
пропущено...
Зависит от того, как много adhoc запросов.

для этого случае есть опция "optimize for ad hoc workloads"

+ я бы для начала попробовал принудительную параметризацию базы.
8 авг 19, 17:38    [21945017]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4935
Megabyte
komrad
пропущено...

для этого случае есть опция "optimize for ad hoc workloads"

+ я бы для начала попробовал принудительную параметризацию базы.

планы могут стать удивительно далекими от оптимальных
8 авг 19, 18:31    [21945074]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6639
Принудительная параметризация эффективна в зависимости от характера запросов, кроме того, включение вызывает некоторые проблемы. Автору надо хорошо изучить - какого рода запросы находятся в кэше и много ли их вообще.
8 авг 19, 18:33    [21945075]     Ответить | Цитировать Сообщить модератору
 Re: Как часто нужно чистить кэш сервера ms sql?  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 264
Имхо имеет смысл вызывать, только если за отведенный промежуток времени, во время ночных прогрузок и т.п. - как-то сильно кардинально меняются наборы данных в таблицах, то-есть ранее сгенерённые планы выполнения и учтенные ранее оценки оптимизатора уже точно не будут соответствовать физическим реалиям.

Но есть ушлые админы, которые пихают оператор DBCC FREEPROCCACHE и иже с ними в регламентные ночные планы обслуживания.
Начитаются, блин, всяких левых статей в интернете от мамкиных хакеров!
9 авг 19, 09:42    [21945331]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить