0

我有一个有 40 列的表“A”。我需要将数据从 'A' 的 20 个特定列复制到另一个具有这 20 列的表 'B'。将有大约 3 到 1000 万条记录。在 PLSQL 中执行此操作的最有效方法是什么。

4

2 回答 2

1

“每日表 B 将被截断,新数据将从 A 插入其中。”

好的,所以最有效的方法就是不这样做。改用物化视图;表 A 上的物化视图日志将允许您捕获增量更改并每天或在您喜欢的任何其他窗口应用它们。 了解更多

与使用手动 PL/SQL 甚至纯 SQL 的方法相比,效率低得可笑。

于 2013-07-11T08:03:59.173 回答
0

您是否需要对数据进行任何类型的转换,或者只是将数据直接从一个表复制到另一个表?

最简单的方法是,尽管您必须单独创建索引。

create table B as (select A.c1, A.c2, A.c3..... from A);

如果表 x 已经存在,你可以做一个

insert into B select A.c1, A.c2.... from A

为了加快速度,您需要删除表 x 上的所有索引,直到插入完成。

于 2013-07-09T16:07:56.167 回答