#oracle #oracle-sqldeveloper
#Oracle #oracle-sqldeveloper
Вопрос:
Я запускаю запрос на 500 КБ записей. Он выполняется быстро (15 секунд), но показывает только первые 50 строк. Когда я щелкаю правой кнопкой мыши и экспортирую его, это занимает около 2 часов, и я вижу, что счетчик продвигается частями по 50 строк. В этот момент он определенно выполняет полный запрос, но мне было интересно, есть ли более быстрый метод. Спасибо.
Комментарии:
1. AFAIK SQL Developer начинает отображать результаты после получения первого пакета, а не только после получения всего. Вот почему вы, кажется, быстро получаете результат, но, конечно, при экспорте все строки в результате должны быть извлечены, а это может занять время.
2. Убедитесь, что вы экспортируете на локальный диск (C: etc), а не на сетевой диск. Запись на сетевой диск может быть в несколько раз медленнее.
Ответ №1:
15 секунд — это не быстро.
Когда вы экспортируете результаты запроса, мы снова запускаем запрос.
Как только набор результатов будет доступен, мы сразу же начнем записывать его в ваш файл или редактор, и это произойдет настолько быстро, насколько позволит ваша сеть.
По умолчанию он будет получать записи партиями по 50, что настраивается в настройках на странице Дополнительно, но я бы не поставил это выше, скажем, 500.
500 000 записей не так уж велики — не уверен, насколько широки / толсты ваши записи, но это не должно занять много времени, если предположить, что задержка в сети не задействована.
Вместо того, чтобы использовать функцию экспорта сетки, вы также можете попробовать это
spool c:file.csv
SELECT /*csv*/ * FROM table;
spool off
Выполнить через F5
Комментарии:
1. Просто чтобы добавить к словам Джеффа «15 секунд — это не быстро», в зависимости от плана выполнения, тогда вы могли бы потратить 15 секунд на получение всех строк, и теперь вы их извлекаете, но также вполне возможно, что вы собираетесь потратить 15 секунд на каждые 50 строк, которые вам нужно получить, и в этот момент 2 часа — это не проблема с экспортом SQL Dev, а проблема с настройкой запроса