powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Можно ли выключить кеширование для конкретного запроса?
10 сообщений из 10, страница 1 из 1
Можно ли выключить кеширование для конкретного запроса?
    #39765249
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть запрос, в котором последнее соединение производится с очень большой таблицей.
Этот запрос обычно выполняется быстро (менее 100мс), но иногда долго (сотни секунд). При этом повторное выполнение производится быстро.
Я пытаюсь оптимизировать запрос и хочу быть уверенным, что при запуске он именно выполняется, а не использует закешированный результат. Можно ли запретить использование кеша для конкретного запроса, не очищая весь shared pool?
...
Рейтинг: 0 / 0
Можно ли выключить кеширование для конкретного запроса?
    #39765278
Фотография Vivat!San
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можете быть уверены, он всегда выполняется, разберитесь для чего нужен shared_pool.
...
Рейтинг: 0 / 0
Можно ли выключить кеширование для конкретного запроса?
    #39765295
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vivat!Sanразберитесь для чего нужен shared_pool.И где тогда хранится result_cache?
...
Рейтинг: 0 / 0
Можно ли выключить кеширование для конкретного запроса?
    #39765375
Фотография Пылинка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicVivat!Sanразберитесь для чего нужен shared_pool.И где тогда хранится result_cache?
ElicVivat!Sanразберитесь для чего нужен shared_pool.И где тогда хранится result_cache?
В принципе возможно в Client Result Cache, но обычно там где вы "намекаете".

У меня сразу вопрос к автору
-зачем это нужно (модифицировать данные связанные с запросом - резалт инвалидируется)
- а как же Buffer cache - данные таблиц.
-есть еще дисковый кеш вашей ОС, который тоже влияет.
я вообще то зарекся вникать в тонкости оракла - мне за это платить почему то не хотят. Вот есть dbms_result_cache.bypass(true/false);
...
Рейтинг: 0 / 0
Можно ли выключить кеширование для конкретного запроса?
    #39765393
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пылинкатам где вы "намекаете"Вообще-то ТС крайне косноязычен и плавает в технологиях настолько, что непонятно, какой же пул ему нужен на самом деле.
...
Рейтинг: 0 / 0
Можно ли выключить кеширование для конкретного запроса?
    #39765411
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно я термины употребляю некорректно.
Тогда попробую без них.
При повторном выполнении запроса бывает так, что он выполняется быстро. Не уверен, что именно является причиной, но думаю, что это оптимизатор кеширует результаты.
Если дело именно в этом, то я бы хотел сбросить этот кеш, чтобы оценить истинное время выполнения запроса.
...
Рейтинг: 0 / 0
Можно ли выключить кеширование для конкретного запроса?
    #39765412
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПылинкаУ меня сразу вопрос к автору
Периодически запускаемый скрипт получает список новых записей (которые нужно обрабатывать) и выполняет с ними определенные действия.
Один из атрибутов выборки извлекается из большой таблицы (порядка 500кк строк) и неоптимальный запрос будет сильно нагружать сервер.
...
Рейтинг: 0 / 0
Можно ли выключить кеширование для конкретного запроса?
    #39765421
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

если проблема в оценке времени запроса - смотрите просто на consistent gets в статистике сессии.
А вообще почему бы вам просто не внести эту таблицу в keep pool, чтобы запрос всегда выполнялся быстро?
...
Рейтинг: 0 / 0
Можно ли выключить кеширование для конкретного запроса?
    #39765435
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valergradвнести эту таблицу в keep poolНашёлся-таки учёный, который не только смог объяснить причину стука в подвале, но и сразу же предложил способ его устранения.
...
Рейтинг: 0 / 0
Можно ли выключить кеширование для конкретного запроса?
    #39765462
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Alibek B.Я пытаюсь оптимизировать запроскак вы пытаетесь оптимизировать запрос без понимания, что происходит при его выполнении?
Alibek B.При повторном выполнении запроса бывает так, что он выполняется быстро.ну уж минимум-то можно было изучить: получение реального плана и трассировки.
Alibek B.думаю, что это оптимизатор кеширует результаты.может быть что угодно: dynamic sampling при первом выполнении, изменение плана от cardinality feedback/adaptive statistics и тд, но вот как раз чтобы кэширование в buffer cache (и это делает никак не оптимизатор, который CBO) влияло на разницу от сотен секунд до 10мс - крайне маловероятно
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Можно ли выключить кеширование для конкретного запроса?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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