Почему время отклика Oracle PL / SQL в SQL Developer отличается от SQL Plus? - PullRequest
0 голосов
/ 04 августа 2010

У меня есть функция PL / SQL, которая возвращает курсор, который содержит 28 столбцов и 8100 строк.Когда я выполняю эту функцию из SQL Plus, я сразу же получаю результаты, и в SQL Developer я запускаю скрипт, который занимает много времени (около 80 секунд).То же самое происходит с кодом Java.Когда количество столбцов уменьшилось до 2, я получил ответ менее чем за 4 секунды.Может кто-нибудь объяснить, что происходит в этом случае?

Ответы [ 2 ]

1 голос
/ 18 августа 2010

Самый простой эксперимент - изменить «Размер выборки массива SQL» в SQL Developer, который по умолчанию равен 50. Если вы видите результаты увеличения значения до 500, ответ есть.

Интересно, что значение по умолчанию для эквивалентного параметра SQL Plus составляет всего 15, но, как сказал APC, SQL Plus обладает тем преимуществом, что является нативным.

Если изменение «Размер выборки массива SQL» ничего не дает, то следует обратить внимание на настройки JDBC, которые использует SQL Developer, а SQL * Plus - нет.

0 голосов
/ 08 июля 2011

В дополнение к хорошим ответам перед моим ...

SQL * PLus отправляет данные прямо на экран, как только возвращаются первые строки, тогда как SQL Developer должен найти размер набора результатоввернуть заранее показ записей.

Это может объяснить, почему для разработчика SQL существует задержка, особенно если набор результатов большой или для полного возврата требуется много времени (например, если путь выполнения сложен).

...