#oracle #stored-procedures #ado.net #oracle11g #enterprise-library
#Oracle #хранимые процедуры #ado.net #oracle11g #корпоративная библиотека
Вопрос:
Я наткнулся на устаревший сценарий. Я получил SP (Database — Oracle11g), у которого был простой запрос выбора, а время выполнения составляло около 100 мс.
Но когда я попытался вызвать SP через свое приложение (DAAB 2.0 и Oracle Client в качестве поставщика), выполнение набора данных заняло около 6 секунд.
Попытался изменить его на ExecuteReader, но безуспешно.
Затем я попытался изменить оператор select на dynamic (приложение вызывало другой SP, который был динамическим, и он работал нормально), и на этот раз приложение заняло всего 300 мс.
Я не могу объяснить поведение. Кто-нибудь сталкивался с подобной проблемой?
Комментарии:
1. Странно. Знаете ли вы, на что тратится время? Похоже, это в SP. Можете ли вы запустить SQL Trace и посмотреть, что делает Oracle?
2. @Tuzo — Извините за поздний ответ. У меня нет возможности запускать трассировку. Есть ли какой-либо другой способ получить план выполнения, с помощью которого запрос был выполнен при вызове из приложения