|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
Приветствую. Есть небольшая, но оччень нагруженная таблица, около 8 Гб. Смотрю Page life expectancy когда падает, запросы к этой таблице критично тормозят. Скажите, можно ли запретить вытеснять из кэша определенную таблицу? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 12:30 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
ssms Приветствую. Есть небольшая, но оччень нагруженная таблица, около 8 Гб. Смотрю Page life expectancy когда падает, запросы к этой таблице критично тормозят. Скажите, можно ли запретить вытеснять из кэша определенную таблицу? Когда-то давно можно было. Сейчас этого можно добиться используя in-memory таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 12:32 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
+ можно поставить костыль, который будет регулярно начитывать таблицу в память ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 12:38 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
ssms, Лучше решить почему PageLive падает, а не что-то изобретать. Если он у вас итак маленький, то Inmemory даже не пытайтесь создавать таблицы, иначе можете получить , что база не поднимется в один момент из-за нехватка памяти для данных таблиц.. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 13:03 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
msLex ssms Приветствую. Есть небольшая, но оччень нагруженная таблица, около 8 Гб. Смотрю Page life expectancy когда падает, запросы к этой таблице критично тормозят. Скажите, можно ли запретить вытеснять из кэша определенную таблицу? Когда-то давно можно было. Сейчас этого можно добиться используя in-memory таблицы Эх, раньше и трава зеленее была.. А в какой версии это можно было делать? в 2008-й уже нельзя? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 13:11 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
komrad + можно поставить костыль, который будет регулярно начитывать таблицу в память тоже об этом подумал. я так понимаю можно просто SELECT * FROM таблица и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 13:12 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
Slava_Nik ssms, Лучше решить почему PageLive падает, а не что-то изобретать. Если он у вас итак маленький, то Inmemory даже не пытайтесь создавать таблицы, иначе можете получить , что база не поднимется в один момент из-за нехватка памяти для данных таблиц.. Это само собой. Просто табличка маленька относительно объема ОЗУ, но очень критичная... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 13:13 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
ssms msLex пропущено... Когда-то давно можно было. Сейчас этого можно добиться используя in-memory таблицы Эх, раньше и трава зеленее была.. А в какой версии это можно было делать? в 2008-й уже нельзя? 2000 https://www.sqlskills.com/blogs/paul/dbcc-pintable/ ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 13:13 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
komrad ssms пропущено... Эх, раньше и трава зеленее была.. А в какой версии это можно было делать? в 2008-й уже нельзя? 2000 https://www.sqlskills.com/blogs/paul/dbcc-pintable/ да, это и правда давно ( ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 13:13 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
ssms Slava_Nik ssms, Лучше решить почему PageLive падает, а не что-то изобретать. Если он у вас итак маленький, то Inmemory даже не пытайтесь создавать таблицы, иначе можете получить , что база не поднимется в один момент из-за нехватка памяти для данных таблиц.. Это само собой. Просто табличка маленька относительно объема ОЗУ, но очень критичная... и нужны все 8ГБ? может есть запросы, сканирующие её и их можно оптимизировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 13:15 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
komrad ssms пропущено... Это само собой. Просто табличка маленька относительно объема ОЗУ, но очень критичная... и нужны все 8ГБ? может есть запросы, сканирующие её и их можно оптимизировать? Да там по индексу доступ. Я вот думаю, как индекс из кэша не выгружать... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 13:56 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
ssms, поднимите инстанс для таких таблиц, создайте алиас на основном сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 15:18 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
Владислав Колосов, Ага, и поимейте кучу проблем с джойнами таких таблиц ) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 16:24 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
А так же с согласованным резервированием ) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2021, 16:25 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
Вопрос покажется странным.... Но можно ли как-то выгрузить из буфера определенный индекс\таблицу? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 09:44 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
Кроме как ее затранкейтить или дропнуть естественно... Объясняю ситуацию: есть маленькая но чень нагруженная таблица, которую нельзя выгружать. а есть несколько огромных таблиц, которые втягиваются в буфер и полностью его занимают, при этом они используююются не для оперативной работы, а различных разовых отчетов и их можно выгружать спокойно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 09:46 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
В сторону Resource Governor уже смотрели? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 09:51 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
ssms Кроме как ее затранкейтить или дропнуть естественно... Объясняю ситуацию: есть маленькая но чень нагруженная таблица, которую нельзя выгружать. а есть несколько огромных таблиц, которые втягиваются в буфер и полностью его занимают, при этом они используююются не для оперативной работы, а различных разовых отчетов и их можно выгружать спокойно. Интересуюсь. С чего вы взяли, что "она выгружается"? Если она "очень нагруженная", т.е. к ней идут обращения постоянно - ничего выгружено не будет. Займитесь чем-то более полезным. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 09:59 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
aleks222 Займитесь чем-то более полезным. Чем например? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 10:24 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
aleks222 Если она "очень нагруженная", т.е. к ней идут обращения постоянно - ничего выгружено не будет. Она не "очень нагруженная" а "очень критичная", к ней запросы раз в несколько минут, но они должны отрабатывать быстро. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 10:25 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
ssms aleks222 Если она "очень нагруженная", т.е. к ней идут обращения постоянно - ничего выгружено не будет. Она не "очень нагруженная" а "очень критичная", к ней запросы раз в несколько минут, но они должны отрабатывать быстро. Ну дык, не я же сказал "нагруженная". Ща окажется, что она и вовсе не нагруженная, и ненужная вовсе. Но надо, из прынципа. Запрос "раз в минуту" мог бы и не торопиться. Но если он "торопится"... нууу поставьте джоб "раз в секунду" select count(*) from Table. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 10:52 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
aleks222 Но если он "торопится"... нууу поставьте джоб "раз в секунду" select count(*) from Table. Доступ у таблице по некластерному индексу. count(*) точн поможет? Он же по идее втянет в буфер клстерный индекс. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 11:39 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
ssms aleks222 Но если он "торопится"... нууу поставьте джоб "раз в секунду" select count(*) from Table. Доступ у таблице по некластерному индексу. count(*) точн поможет? Он же по идее втянет в буфер клстерный индекс. Я ж не видал вашего "запроса". Ну заколбасьте select count(*) from Table where cast(field1 as nvarchar) = '' а еще лучше, просто "типичный запрос". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 14:22 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
ssms aleks222 Но если он "торопится"... нууу поставьте джоб "раз в секунду" select count(*) from Table. Доступ у таблице по некластерному индексу. count(*) точн поможет? Он же по идее втянет в буфер клстерный индекс. добавьте хинт with (index( index_name )) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 14:40 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
ssms Скажите, можно ли запретить вытеснять из кэша определенную таблицу? Сделать её IN-MEMORY .... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 14:45 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
Смотрю Page life expectancy когда падает, запросы к этой таблице критично тормозят. Очевидно, запросы тормозят не только к этой таблице при уменьшении PLE. Если у вас кто-то гоняет мега-отчеты "от забора и до вечера" (судя по "когда падает", это происходит не всегда), то разрешите выполнение отчетов вне часов рабочей нагрузки или перенесите отчеты на другой сервер, например. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 14:55 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
aleks222 ssms пропущено... Доступ у таблице по некластерному индексу. count(*) точн поможет? Он же по идее втянет в буфер клстерный индекс. Я ж не видал вашего "запроса". Ну заколбасьте select count(*) from Table where cast(field1 as nvarchar) = '' а еще лучше, просто "типичный запрос". Ого. как хитро. Так и сделал, благодарю. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 15:21 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
msLex ssms пропущено... Доступ у таблице по некластерному индексу. count(*) точн поможет? Он же по идее втянет в буфер клстерный индекс. добавьте хинт with (index( index_name )) И это добавил. Спасибо ! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2021, 15:21 |
|
Можно ли запретить вытеснять из кэша определенную таблицу?
|
|||
---|---|---|---|
#18+
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 Изменение структуры данных под задачу. Например можно не считать обороты по поставщику за период каждый раз налету, а иметь такое поле в специальной таблице. Куда вносить изменения при каждой транзакции по поставщику. Там же остаток по счёту, переходящий остаток по счёту клиента и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2021, 14:48 |
|
|
start [/forum/topic.php?all=1&fid=46&tid=1684691]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
132ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 251ms |
0 / 0 |