У меня есть прецедент, в котором большое количество данных иногда содержит миллионы строк, добавленных во временную таблицу (глобальная таблица сеансов сеанса) и таблица, которая должна быть соединена с другой таблицей для создания результаты/график/Heatmap. Данные представляют собой текстовые файлы или могут поступать из именованного канала/потока/сокета. SQLLDR не будет вариантом, поскольку это временная таблица.oracle pl/sql Загрузка больших данных в таблицу temp
Есть ли у вас предложения относительно того, как это можно сделать эффективно. В настоящее время оператор SQL выглядит следующим образом:
insert into tempipdata (IP)
select gutils.ip2long('100.0.59.165') FROM DUAL UNION
select gutils.ip2long('100.1.117.161') FROM DUAL UNION
select gutils.ip2long('100.23.117.161') FROM DUAL;
Любые предложения. Я могу получить данные IP-адреса из сокета или stdin вывода программы.
Благодаря Виджай
Почему вы не идете на вложенные таблицы Oracle? Создание, заполнение и удаление больших временных таблиц может фрагментировать ваши табличные пространства. – Rachcha
@ Rachcha - вставка миллиона строк в коллекцию PL/SQL может создать огромную нагрузку на PGA. Иногда временная таблица - правильное решение. – APC