Oracle,性能问题

时间:2017-09-28 06:11:27

标签: oracle performance insert

我有Insert Into ... SELECT声明。该语句由3个选择UNION ALL CLAUSE的连接组成。

Insert into 
(Select... (1)
UNION ALL
Select... (2)
UNION ALL
Select... (3)
)

表,我插入的是nologging模式,Parallel degree = 8,并使用/*+ APPEND*/子句。

选择1和2只是简单选择1个表。我在pl / sql块中运行了这两个选择,如:

Select count(1) into x From
(Select (1) UNION ALL Select... (2))

它在3秒内返回了大约150万条记录。然后我将这些选择放入insert语句:

INSERT INTO TABLE_NAME
(Select (1) UNION ALL Select... (2))

插入持续时间与上述相同。

现在,最后(3)选择是从1表和少数连接(包括1个左连接)。 当我在Select Count(1) Into x中运行它时,它在大约3分钟内返回了80 000条记录。 我希望插入80 000条记录不会超过select count(1) into的时间,与此同时insert into ... select已经有半小时的执行时间。

  • 150万rec - 3secs
  • 80 000 rec - ...

任何人都能看到我,有什么事吗?我做错了吗?

0 个答案:

没有答案