【发布时间】:2011-05-20 19:40:34
【问题描述】:
我正在运行这样的查询:
INSERT INTO TableA (colA, colB)
Select ColA, ColB
from TableB
这是一个巨大的插入,因为它查询超过 200 万行,然后将它们插入到表中。我的问题是关于性能的。当我在 toad 中运行查询时,查询大约需要 4-5 分钟才能运行。
当我通过 sqlplus 运行查询时,它需要更长的时间。它已经运行了 40 分钟以上,但还没有完成。我什至通过关闭服务器输出进行了一些小的调整,以防影响性能。
关于通过 sqlplus 运行查询,我应该注意哪些调整?有什么方法可以找出不同客户端执行/处理查询的方式的差异?
注意:这是我将数据从表 A 传输到表 B 的唯一方法。我研究了 imp/exp 和 impdp/expdp,但在我的情况下这是不可能的。
蟾蜍 - v. 9.6.1.1 SqlPlus - 9.2.0.1.0 甲骨文数据库 - 10g
【问题讨论】:
-
没有 dba.stackoverflow.com 吗?这不是真正的编程相关,这是一个工具的东西,可能吗?具体来说,您可能需要查看 toad 在它创建的连接上设置了哪些选项。 sqlplus 可能没有为您做 任何事情,而 toad 可能是。虽然我不知道为什么它会对客户端本身没有做任何事情的查询产生任何影响......
标签: sql performance oracle sqlplus toad