Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Кеширование запросов, как почистить?
|
|||
|---|---|---|---|
|
#18+
Выполняю запрос первый раз - 2 с лишним минуты, выполняю второй раз - 6 сек Очевидно, что что-то закешировалось. Как очистить это что-то? А то я не могу понять насколько у меня запрос улучшился. Перегружать сервер не хотелось бы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2010, 18:42 |
|
||
|
Кеширование запросов, как почистить?
|
|||
|---|---|---|---|
|
#18+
1. deactivate db -yourdb- activate db -yourdb- 2. drop bufferpools -yourtbbpool- create bufferpools -yourtbbpool- ____________________ Sincerely yours, MDanial .................................... Блог кодографа , блог по db2 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2010, 21:09 |
|
||
|
Кеширование запросов, как почистить?
|
|||
|---|---|---|---|
|
#18+
Да это фактически та же перезагрузка, хоть и побыстрее. (После чтения Кайта) я думаю, что надо следить не столько за временем выполнения запроса (которое может очень сильно варьировать, особенно на нагруженном сервере), сколько за некоторыми другими вещами. Особенно за количеством логических чтений (logical reads в терминологии Oracle; к сожалению, я уже не помню DB2-шный аналог), т.е. чтений либо с диска, либо с буферного пула. Это куда более стабильная величина. А чем меньше логических чтений, тем выгоднее запрос. Потому что в наихудшем случае (когда в буферном пуле данных нет) он даст наименьшую нагрузку на диск, а также меньше вероятность того, что он вытеснит из буферного пула другие данные, которые могут понадобиться другим запросам. (Это - считая, что диски - главный тормоз. С распространением и широким использованием быстрых SSD ситуация может поменяться). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2010, 22:03 |
|
||
|
Кеширование запросов, как почистить?
|
|||
|---|---|---|---|
|
#18+
Как часто бывает - написал, отправил... и понял, что наврал. Поскольку логические чтения могут относиться к одному и тому же блоку, их количество не связано прямо с использованием буферного пула, и их надо учитывать раздельно. Оптимизировать количество логических чтений важно именно тогда, когда буферный пул достаточно велик, чтобы удерживать все данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2010, 22:26 |
|
||
|
Кеширование запросов, как почистить?
|
|||
|---|---|---|---|
|
#18+
Прошу прощение, Вы об этом Кайте говорите? И если, честно я не особо понял Ваши комментарии по поводу логического чтение и буферпуллов. Если есть время, не могли бы, более точнее расписать. =) ____________________ Sincerely yours, MDanial .................................... Блог кодографа , блог по db2 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2010, 22:34 |
|
||
|
Кеширование запросов, как почистить?
|
|||
|---|---|---|---|
|
#18+
Ну, Кайт кучу книжек написал, а ещё сайт ведёт ( http://asktom.oracle.com ). Логическое чтение - фактически это обращение к буферному пулу (которое приведёт к "физическому" чтению с диска, если соответствующих данных в буферном пуле нет). Разумно ожидать, что это куда более стабильная величина, чем время исполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2010, 22:57 |
|
||
|
Кеширование запросов, как почистить?
|
|||
|---|---|---|---|
|
#18+
Благодарю! Уже сам докумекал)) Просто вечер, первый день на работе после новогодних - тугодумный я сегодня. А Кайта почему спросил - удостовериться хотел, что именно о том Кайте я подумал =). Еще раз спасибо. ____________________ Sincerely yours, MDanial .................................... Блог кодографа , блог по db2 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2010, 23:01 |
|
||
|
Кеширование запросов, как почистить?
|
|||
|---|---|---|---|
|
#18+
Абсолют1. deactivate db -yourdb- activate db -yourdb- В db2 нет явной команды сброса буферных пулов на диск. Такой сброс происходит при выходе последнего пользователя из базы , если при этом база не была ранее явно активирована командой activate db. Если база была ранее активирована командой activate db, то при выходе последнего пользователя из неё деактивация не происходит, и для деактивации надо явно выдать команду deactivate db. mwolf, Что значит "насколько у меня запрос улучшился"? Если вы ничего не меняли, то всё улучшение (если, конечно, это не связано с параллельной активностью других сессий) заключается только в кэшировании. В любом случае удобно пользоваться утилитой db2batch для тестирования запроса. Типа такого что-то (в batch.sql - ваш запрос с символом ; в конце): db2batch -d your_db_name -f batch.sql -r batch.res -c off -i complete -g off -msw all on -o r 0 p 5 e yes -s on после этого можно посмотреть план запроса (если 'e yes' как в примере): db2exfmt -d your_db_name -g -o exfmt.txt -n %% -s %% -# 0 -w -1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2010, 11:45 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=36404316&tid=1602956]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 285ms |
| total: | 459ms |

| 0 / 0 |
