powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Один и тот же запрос, одинаковый план, разное время выполнения.
17 сообщений из 17, страница 1 из 1
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39538985
The_beginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть запрос, который выполняется то пару секунд, то несколько часов.
База одна и та же.
План закреплен при помощи outline-хинтов.
Значения биндов используются одни и те же.
Блокировок нет.
Во время долгого выполнения все время висит db_file_sequential_read и видно, что запрос грузит диск.
Вряд ли дело в кешировании данных, потому что долгое выполнение может наступить после быстрого выполнения с теми же значениями биндов. Да и разница была бы не такой огромной.
Трассировать пытался, но каждый раз когда включаю трассировку, запрос отрабатывает быстро.

Подскажите плз, в чем может быть причина такого разного времени выполнения?
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39538995
Фотография AlexFF__|
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_beginner,

Проверь
db_file_sequential_read vs direct path read
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539001
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_beginnerПодскажите плз, в чем может быть причина такого разного времени выполнения?
Миллион причин.
Начиная от посторонней (по отношению к запросу) нагрузки на диск и заканчивая delayed block cleanout
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539007
The_beginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexFF__|The_beginner,

Проверь
db_file_sequential_read vs direct path read

direct path read вообще не используется
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539010
j2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_beginner, Во время долгого выполнения смотрели реальный план по которому стал выполняться запрос?
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539015
The_beginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymousМиллион причин.
Начиная от посторонней (по отношению к запросу) нагрузки на диск и заканчивая delayed block cleanout

Нагрузка на диск сказалась бы на других запросах... наверное.
delayed block cleanout - в session event ее будет видно? Или как ее распознать, что это именно она виновата? И как с ней бороться?
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539023
The_beginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
j2kThe_beginner, Во время долгого выполнения смотрели реальный план по которому стал выполняться запрос?

Смотрел в v$sql_plan, план там один.
С трассировкой пока не везет, не могу попасть на плохое выполнение.
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539032
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_beginnerdelayed block cleanout - в session event ее будет видно? Или как ее распознать, что это именно она виновата? И как с ней бороться?
Посмотрите статистику по этому запросу в "хорошие" и "плохие" периоды.
Delayed block cleanout спровоцирует повышенные логические чтения.
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539052
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_beginnerне могу попасть на плохое выполнение.А на него не надо попадать. Все пишется в ash.

Колонки, которые могут заинтересовать
Код: plaintext
1.
select sql_plan_hash_value, sql_exec_id, sql_exec_start, event, sql_id, ash.*
from v$active_session_history ash
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539077
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
The_beginner,

Версия оракла? уверены ли что одни и те же бинды? Покажите отчеты real time sql monitor'a
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539108
The_beginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ash план такой же, если судить по plan hash value.
Видно, что он всю дорогу sequential read-ом читает одну таблицу - указан object_id таблицы и блоки данных из сегмента таблицы. Хотя непонятно почему именно таблицы, а не индекса. В плане доступ к этой таблице идет по индексу, через index range scan.
Если delta_write_io_bytes все время равно нулю, значит ли это, что отложенная очистка блока не виновата?
Бинды одинаковые, потому что запускаю сам.
Версия 12.1
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539114
The_beginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
j2kThe_beginner, Во время долгого выполнения смотрели реальный план по которому стал выполняться запрос?

А разве одинаковость плана не гарантируется outline-хинтами?
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539148
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня такое было как-то, оказалось дело было в internal invalidations.

Посмотрите увеличивается ли sql_exec_id у запроса и в dba_hist_sqlstat количество invalidations.
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539161
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
The_beginner,

Без подробной информации это все гадание ... выкладывай подробности, ashdump, rtsm report ...
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539162
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Что за мода такая ныть и при этом ничего не давать для нормального анализа...
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539348
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_beginnerЕсть запрос, который выполняется то пару секунд, то несколько часов.
Подскажите плз, в чем может быть причина такого разного времени выполнения?
Может быть наоборот? Сначала несколько часов а после пару секунд.
...
Рейтинг: 0 / 0
Один и тот же запрос, одинаковый план, разное время выполнения.
    #39539356
pihel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_beginner,

посмотри какие tablespace читает запрос, возможно кто-то параллельно вставляет или изменяет данные в таблицах и запрос ушел в чтение ундо. Как раз в этом случае будет db_file_sequential_read, даже если его раньше не было:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
with t as (
  select /*+ materialize */ SQL_PLAN_LINE_ID, LISTAGG(TABLESPACE_NAME || ' ('||prc||'%)', '; ') WITHIN GROUP (ORDER BY prc desc) TABLESPACE_NAME, SUM(prc) as prc
  from (
    select nvl( SQL_PLAN_LINE_ID, 0) SQL_PLAN_LINE_ID, f.TABLESPACE_NAME, round( (RATIO_TO_REPORT(count(*)) OVER () *100 ), 2) as prc,
      round( (RATIO_TO_REPORT(count(*)) OVER (partition by nvl( SQL_PLAN_LINE_ID, 0)) *100 ), 2) as prc_per_line
    FROM   dba_hist_active_sess_history h
    left join DBA_DATA_FILES f on f.FILE_ID = h.CURRENT_FILE# 
    where 
    h.sample_time between :ST_DT and :ED_DT
    and h.sql_id = :SQL_ID AND h.SQL_PLAN_HASH_VALUE = :PLAN_HASH_VALUE
    group by nvl( SQL_PLAN_LINE_ID, 0), f.TABLESPACE_NAME
  )
  where prc_per_line > 1
  GROUP BY SQL_PLAN_LINE_ID
)
select DISTINCT p.id, RPAD(' ', p."DEPTH", ' ') || P.OPERATION || ' ' || p.OPTIONS  as OPERATION, p.object_name, 
  t.TABLESPACE_NAME, t.prc
from SYS.DBA_HIST_SQL_PLAN p
left join t on T.SQL_PLAN_LINE_ID = p.id 
where p.sql_id = :SQL_ID AND p.PLAN_HASH_VALUE = :PLAN_HASH_VALUE
order by p.id

...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Один и тот же запрос, одинаковый план, разное время выполнения.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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