powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли запретить вытеснять из кэша определенную таблицу?
5 сообщений из 30, страница 2 из 2
Можно ли запретить вытеснять из кэша определенную таблицу?
    #40068952
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрю Page life expectancy когда падает, запросы к этой таблице критично тормозят.

Очевидно, запросы тормозят не только к этой таблице при уменьшении PLE. Если у вас кто-то гоняет мега-отчеты "от забора и до вечера" (судя по "когда падает", это происходит не всегда), то разрешите выполнение отчетов вне часов рабочей нагрузки или перенесите отчеты на другой сервер, например.
...
Рейтинг: 0 / 0
Можно ли запретить вытеснять из кэша определенную таблицу?
    #40068960
ssms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222
ssms
пропущено...


Доступ у таблице по некластерному индексу.

count(*) точн поможет? Он же по идее втянет в буфер клстерный индекс.

Я ж не видал вашего "запроса".

Ну заколбасьте

select count(*) from Table where cast(field1 as nvarchar) = ''

а еще лучше, просто "типичный запрос".


Ого. как хитро.

Так и сделал, благодарю.
...
Рейтинг: 0 / 0
Можно ли запретить вытеснять из кэша определенную таблицу?
    #40068961
ssms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex
ssms
пропущено...


Доступ у таблице по некластерному индексу.

count(*) точн поможет? Он же по идее втянет в буфер клстерный индекс.


добавьте хинт with (index( index_name ))


И это добавил.

Спасибо !
...
Рейтинг: 0 / 0
Можно ли запретить вытеснять из кэша определенную таблицу?
    #40071949
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. По исходному вопросу.

Конечно можно сделать и так, как вы задумали (постоянно начитывать и держать в буфере). Может это даже и правильно для какой-то специфической задачи (вам нужны микросекунды отклика?). Из описания этого не видно. Для обычной же ситуации это какой-то чудовищный костыль.

Затем. Самый грамотный путь реализации этого пути - делать таблицу in memory.

Однако есть путь более правильный (для обычных ситуаций):

1.1 Собрать коллекцию основных запросов к целевой таблице, проанализировать их, выделить группы, для них создать целевые индексы и матвьюхи (например с выборкой по фильтрующему индексу). После запросы переписать на обращение к матвьюхам.

1.2 Собссно решать проблему в её источнике. Т.е. в том, что описано вами ниже:


ssms

Объясняю ситуацию:

есть маленькая но очень нагруженная таблица, которую нельзя выгружать.

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


т.е. 1.2 -> 2

2. Если вы как компания не доросли до DWH/BI (что странно, если вы считаете таблицу 8 Гиг маленькой), то решить такое можно и в рамках обычной базы несколькими путями:

2.1 Хранимые отчёты. Заранее сформированные по расписанию и хранимые готовые данные отчётов по самым востребованным параметрам сбора отчётов. И их нужно только на форму отчёта подтянуть.

2.2 Хранимые предрассчитанные по расписанию агрегатные данные для отчётов. Такой минисрез по псевдокубу.

2.3 Оптимизация имеющихся запросов как они есть (наверняка ведь есть что оптимизировать).

2.4 Оптимизация обращения к таблицам в целом. Вьюхи, матвьюхи, индексы.

2.5 Изменение структуры данных под задачу. Например можно не считать обороты по поставщику за период каждый раз налету, а иметь такое поле в специальной таблице. Куда вносить изменения при каждой транзакции по поставщику. Там же остаток по счёту, переходящий остаток по счёту клиента и т.п.
...
Рейтинг: 0 / 0
Можно ли запретить вытеснять из кэша определенную таблицу?
    #40071995
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
In-memory имеет достаточно много неприятных моментов, ограничивающих возможности.
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли запретить вытеснять из кэша определенную таблицу?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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