SQLDeveloper медленно экспортирует результаты в CSV

#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, а проблема с настройкой запроса