2015-04-16 2 views
0

Я использую Oracle как СУБД и Tuxedo для сервера приложений. У клиента есть необходимость экспортировать данные из Oracle в SAMFILE для целей интерфейса. К сожалению, общее количество размеров записей огромно (более 10 миллионов), поэтому Мне было интересно, какая именно практика заключается в извлечении большого количества данных в файл на сервере базы данных.Каков наилучший способ извлечения больших данных в файл?

Я использую для создания курсора и получения записи, а затем записи в файл. Есть ли лучший способ ускорить это? Это повторяющаяся задача.

+0

Укажите «лучше». Быстрее? Более устойчив? Это одноразовое задание или повторяющееся требование? Является ли целевой каталог на сервере базы данных или локальным для приложения/клиента? – APC

+0

более высокая производительность/повторяющаяся целевая/целевая директория находится на сервере базы данных –

ответ

0

Предлагаю вам прочитать статью Адриана Биллингтона о настройке UTL_FILE. Он охватывает все базы. Find it here.

Важной вещью является буферизация записей, что уменьшает количество вызовов ввода-вывода файлов. Вам нужно будет сравнить различные реализации, чтобы увидеть, какая из них лучше всего работает в вашей ситуации.

Обратите внимание на его рекомендации по выполнению запросов. Оптимизация ввода-вывода файлов бессмысленна, если большую часть времени тратится на сбор данных.