没有任何联接或在什么条件下如何提高视图的性能?

时间:2019-04-15 14:27:16

标签: oracle performance view

我有一个简单的视图,该视图根据管道字符(作为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,00,000条记录,并且需要15小时才能加载表的三分之一。

0 个答案:

没有答案