У меня есть запрос PL SQL, который имеет MINUS
.
select id from small_table where col ='xxx'
MINUS
select id from large_table;
large_table имеет 139070
строк, а small_table имеет 7459
строк. Я получаю ORA-02395: exceeded call limit on IO usage
при выполнении. Я пробовал заменить MINUS
на not in
и not exists
. Я прочитал об ошибке и не могу договориться с DBA
, чтобы изменить LOGICAL_READS_PER_CALL
. Теперь могу ли я использовать 2 курсора для извлечения данных из 2 таблиц, а затем выполнить MINUS
эквивалент logi c на стороне PLSQL
? Или я получу ORA-02395
даже с курсором logi c. Или я могу переписать сам запрос?
Кроме того, какое максимальное количество строк можно получить с помощью курсора, используя BULK COLLECT INTO
a table OF ***
.