2012-05-15 2 views
0

У меня проблема в хранимой процедуре. Хранимая процедура производит вывод курсора. SQL-запрос, который производит вывод, выполняется менее чем за 1 секунда. Но процедура занимает более 10 минут для выполнения. У хранимой процедуры нет других запросов.Выход Oracle Cursor занимает много времени

+4

вы можете показать нам какой-нибудь код? –

+0

Вы измеряете время, когда SQL-запрос возвращает первую строку? Или вы измеряете время, когда SQL-запрос возвращает последнюю строку? Какова процедура, отличная от настройки курсора? –

+0

Измерение времени для SQL для возврата последней строки. Вывод имеет максимум 200 строк. Процедура ничего не делает, кроме выборки из курсора –

ответ

2

Общей причиной такого поведения является путаница времени для возврата первой (пары) строк (строк) со временем, необходимым для всех строк. Если вы просто выберете select в большинстве инструментов sql, вы получите первые строки, как только они будут доступны. Это не означает, что оператор sql полностью обрабатывается. Только если вы прокрутите страницу до последней строки, обработка sql завершится.