【发布时间】:2012-08-02 14:12:28
【问题描述】:
我有一个CREATE TABLE 查询,可以使用两种方法完成(创建为数千/百万条记录的选择语句):
第一种方法:
create table as select some data minus (select data from other table)
或
首先我应该将表创建为
create table as select .....
然后
delete from ..where exist.
我猜第二种方法更好。对于哪个查询成本更低?为什么减号查询不如第二种方法快? 编辑: 我忘了提到 create 语句也有两个表的连接。
【问题讨论】:
-
第一个更好。它将产生更少的 REDO 和 UNDO。
-
第一种方法更好,因为你只创建你需要的记录。
-
但是我已经检查过了,第二种方法总体上花费的时间更少。