我有两个数据库A和B. B有一些表要复制到A而不对数据进行任何操作。
每张表都有数百万条记录。
哪一个会带来更好的表现。
选项1:
1.在A到B中创建一个dblink
2.然后在A中创建一个程序,批量收集B中每个表的数据
3.然后对A
选项2:
1.在A到B中创建一个dblink
2.只需插入表格...从B_tables @ dblink
请说明原因。
我认为选项1更好。(没有任何逻辑,但我觉得简单的插入总是比批量绑定差)
答案 0 :(得分:2)
您不需要对这些问题使用直觉。它们很容易测试。
但是,一般规则是,如果您可以在纯SQL中执行某些操作,那么就这样做。它将是最快的方法,因为SQL和PL / SQL之间没有上下文切换。 PL / SQL无论如何都只能通过SQL来改变数据,所以即使PL / SQL速度非常快,它也不会比使用纯SQL更快。