Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизация БД / 5 сообщений из 5, страница 1 из 1
20.06.2020, 14:52
    #39971234
Зурбаган
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация БД
Читал где-то, что если БД на MS SQL Server иногда тормозит, то надо периодически чистить кэш. В идеале - раз в сутки запускать скрипт из планировщика заданий.
Так ли это ?
Не подскажите текст скрипта?
...
Рейтинг: 0 / 0
20.06.2020, 15:22
    #39971242
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация БД
Зурбаган, пользуюсь этим решением .
Но вам вначале нужно определить причину торможения.
Иначе как в анекдоте - "Пепельницу вытряхивал, по колесам пинал, все равно не заводится"
...
Рейтинг: 0 / 0
22.06.2020, 08:09
    #39971650
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация БД
Зурбаган
Читал где-то, что если БД на MS SQL Server иногда тормозит, то надо периодически чистить кэш.
Так ли это ?


Все верно, только там забыли написать какой кэш.
Чистить надо в голове.
...
Рейтинг: 0 / 0
22.06.2020, 08:41
    #39971660
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация БД
Зурбаган
то надо периодически чистить кэш. В идеале - раз в сутки запускать скрипт из планировщика заданий.


Пустая трата времени.

Надо научиться проводить трассировку БД (Profiler ExtendedEvents). Искать неоптимальные запросы и решать что-то с ними.

Это отдельный навык, который надо освоить.

Перестройкой идексов можно слегка что-то улучшить, но это слегка временное явление.
...
Рейтинг: 0 / 0
22.06.2020, 09:16
    #39971670
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация БД
aleks222
Зурбаган
Читал где-то, что если БД на MS SQL Server иногда тормозит, то надо периодически чистить кэш.
Так ли это ?


Все верно, только там забыли написать какой кэш.
Чистить надо в голове.

Вроде бы, чисто теоретически, такое может быть, если клиенты общаются с сервером исключительно разнообразными нерегламентированными ad Hoc запросами, а опция "optimize for ad hoc workloads" - не включена.
Тогда кэш планов забьется неиспользуемыми планами, и периодическая DBCC FREEPROCCACHE может создать иллюзию увеличения производительности.
Если же запросы не совсем нерегламентированные, а что-то типа:
Код: sql
1.
insert into MyTable (a,b) Values (1,2)


В виде строк, как любят писать разные пхп-писатели и прочие вэб-программисты, то, возможно, поможет parameterization forced в настройках БД, а не заниматься чисткой кэша.

Кроме того, некто Гилёв советует чистить кэш при изменении статистики по базе, чтобы вызвать глобальную рекомпиляцию процедур уже с учетом новой статистики.
Опять же, это может иметь смысл, если содержимое БД как то радикально поменялось, например, вы залили огромное количество данных bulk'ом или наоборот, перенесли пару периодов в историческую БД.

Так что, мозги, безусловно, нужно чистить в первую очередь, но и кэш планов - иногда тоже.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизация БД / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]