Как улучшить производительность представления без каких-либо объединений или условий? - PullRequest
1 голос
/ 15 апреля 2019

У меня есть простое представление, которое берет столбцы из таблицы на основе символов конвейера (как тип данных varchar2) и преобразует некоторые столбцы в числа.У меня очень сложное время при загрузке полных записей из исходной таблицы в целевую таблицу через представление.Можно ли улучшить его производительность?

Вид выглядит следующим образом: 150 разбиений столбцов и 35 преобразований

CREATE OR FORCE MYVIEW as
WITH CommonTableExpression
AS 
(SELECT   
a.* 
,CAST(REGEXP_SUBSTR(a.Line, '([^|]*)(\||$)',1,1,NULL, 1) AS VARCHAR2(1)) Column1
FROM  MYTABLE a)
SELECT 
LINE
,CAST(REGEXP_SUBSTR (Line || '|', '([^|]*)(\||$)',1,1, NULL, 1 ) AS NUMBER(1,0)) Column1_NBR
FROM CommonTableExpression;

Мне так и не удалось загрузить полные 16 000 000 записей, и этозагрузка одной трети таблицы занимает 15 часов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...