Как оптимизировать функцию создания таблиц Oracle для таблицы, содержащей более 30 миллионов строк и 250 столбцов - PullRequest
0 голосов
/ 30 мая 2019

Мне нужно создать таблицу, которая содержит более 30 миллионов строк и около 250 столбцов из другой таблицы, которая имеет тот же номер строки и около 230 столбцов.Это как процесс ETL.Я использую SPSS Modeler для запуска потока, который имеет алгоритмы процесса.Мне нужно ускорить этот процесс.

В IBM Netezza этот процесс занимал около 20-25 минут с кэшированием в базе данных в SPSS Modeler и функцией DISTRIBUTE ON HASH для таблиц ввода и вывода.

В Oracle этот же процесс занял около 1,5-2 часов.Я не могу оптимизировать код.Я пробовал так много способов, создавая таблицу ввода и вывода с функцией PARALLEL, пытался индексировать входную таблицу, пытался разбить на части и т. Д.

Наконец, я использовал приведенный ниже синтаксис для ввода и вывода.таблицы, однако я не могу сделать никакого прогресса.

COLUMN STORE COMPRESS FOR QUERY HIGH NO ROW LEVEL LOCKING  NOLOGGING 
PARTITION BY HASH ("COLUMN 1") PARALLEL 16

1 Ответ

0 голосов
/ 30 мая 2019

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

...