powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему быстрый запрос может стать медленным?
16 сообщений из 41, страница 2 из 2
Почему быстрый запрос может стать медленным?
    #39682381
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682495
Игорь Ковалев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Frost,
вроде как планы запросов
в файлах 1.txt и 2.txt одинаковые.

Не могли бы Вы сделать awr-отчёт за период длительной работы запроса и выложить его?
Предполагаю, что в нём мы увидим события ожидания.
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682506
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь КовалевMr_Frost,
вроде как планы запросов
в файлах 1.txt и 2.txt одинаковые.

Не могли бы Вы сделать awr-отчёт за период длительной работы запроса и выложить его?
Предполагаю, что в нём мы увидим события ожидания.

Могу, если скажете, как)

Планы одинаковые, цифры стоимости разные.
E-Rows, E-Bytes, Cost (%CPU), E-Time различаются кардинально
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682517
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ожидание будет скорее всего latch: cache buffers chains
Смотри 9 ответ

ЗЫ. уже близко подошли )))
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682521
Игорь Ковалев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По теме создания AWR-отчётов довольно много информации в интернет.

Например, вот ссылки
http://oracleonrussian.blogspot.com/p/oracle-database-11g_25.html
http://www.interface.ru/home.asp?artId=22589

В первой ссылке описано, как создать AWR-отчёт из Oracle Enterprise Manager или аналога,
во второй - с использованием скриптов из sqlplus.
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682545
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
landyОжидание будет скорее всего latch: cache buffers chains
ЗЫ. уже близко подошли )))

Вчера, когда повисло, событие было
async descriptor resize
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682565
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Frost...
Вчера, когда повисло, событие было
async descriptor resize
гугл даёт вот такое наблюдения 2013 года от Усольцева.
https://iusoltsev.wordpress.com/2013/03/31/asynch-descriptor-resize-oracle-11-2-0-3-linux-x86_64/
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682568
Игорь Ковалев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_FrostlandyОжидание будет скорее всего latch: cache buffers chains
ЗЫ. уже близко подошли )))

Вчера, когда повисло, событие было
async descriptor resize

А какая используется версия Oracle, какая операционная система?
Надо искать рекомендации по борьбе с этим событием ожидания.

Вот здесь пишут по этому поводу
https://iusoltsev.wordpress.com/2013/03/31/asynch-descriptor-resize-oracle-11-2-0-3-linux-x86_64/
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682570
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_FrostВчера, когда повисло, событие было
async descriptor resizeТы смотрел не так или не туда или сделал неверные выводы.
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682657
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь КовалевMr_Frost,
Не могли бы Вы сделать awr-отчёт за период длительной работы запроса и выложить его?

Версия Standard Edition, Oracle Database 11g Release 11.2.0.1.0
awr-отчёт выходит пустой, к сожалению
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682677
Игорь Ковалев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_FrostИгорь КовалевMr_Frost,
Не могли бы Вы сделать awr-отчёт за период длительной работы запроса и выложить его?

Версия Standard Edition, Oracle Database 11g Release 11.2.0.1.0
awr-отчёт выходит пустой, к сожалению

AWR-отчётов нет из-за того, что у Вас Версия Standard Edition, а не Enterprise Edition.

В Standard Edition отсутствуют развитые средства диагностики/мониторинга, но если нет возможности использовать Enterprise Edition можно попытаться использовать statspack - вот статья на эту тему
http://logic.edchen.org/how-to-use-statspack-instead-of-awr-in-oracle-standard-edition/

Версию 11.2.0.1.0 хорошо бы заменить на более новую, например 11.2.0.4 - возможно это решит проблему.
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682680
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь КовалевВерсию 11.2.0.1.0 хорошо бы заменить на более новую, например 11.2.0.4 - возможно это решит проблему.

Неплохо было бы, но на это месяц согласований уйдет минимум
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682692
Игорь Ковалев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_FrostИгорь КовалевВерсию 11.2.0.1.0 хорошо бы заменить на более новую, например 11.2.0.4 - возможно это решит проблему.

Неплохо было бы, но на это месяц согласований уйдет минимум

Дело в том, что версии ...1.0 если я верно всё помню считаются сыроватыми/содержащими большое количество ошибок, по этой причине их опасаются использовать в качестве production.
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682719
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про сравнение планов: Никогда не используйте EXPLAIN_PLAN для определения плана. Во всяком случае если в запросе есть бинды. EXPLAIN_PLAN ничего не знает о биндах, поэтому он может только случайно построить правильный план.

Глядя на ваш запрос и план напрашивается вопрос:
Действительно ли в вашей таблице ÂÛÐ_ÈÑÒ_ÑÈÃ_ÏÊ ровно одна строка со значением ÈÑÒ_ÑÈÃÍÀËÀ равным '1=0' ( см. предикат для 4й строчки)? Можете ли вы это проверить?
Оракл считает что 1, поэтому выбрал nested loop, но если их больше - то нестед луп на 800 * 185k разумеется умирает.
Далее - запросу на самом деле нужна только одна строчка - первая, таким образом время его на 100% зависит от того сколько итераций двойного цикла он сделает до того как найдет хоть одну строчку - т.е. время выполнения этого запроса очень "данные-зависимо". Вы легко можете отсортировать данные в двух сорсах независимо и посмотреть на какой итерации обычно бывает первое совпадение, и на какой итерации возникает совпадение в момент "затыка".

Если прописать hash - то запрос выроятно будет гораздо быстрее в худшем случае, но может стать медленнее в лучшем. В общем, я бы копал пока от данных и от изменения бизнес-логики, прежде чем грешить на базу, латчи и тому подобное.
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682799
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valergrad,

если пришло время глубокого рефакторинга, то начинать,IMHO, нужно с того, чтобы вообще избавиться от построчной обработки данных в цикле и подумать о решении задачи в один запрос...
...
Рейтинг: 0 / 0
Почему быстрый запрос может стать медленным?
    #39682801
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Frost,

не нужно было получать планы при помощи EXPLAIN. нужно было выполнить запрос и извлечь планы выполнения из кэша. Так как EXPLAIN мог дать "приблизительный план", который на деле будет очень сильно отличаться от фактического .
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему быстрый запрос может стать медленным?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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