gpt4 book ai didi

sql - 减去 vs 删除 oracle 中存在的地方

转载 作者:行者123 更新时间:2023-12-05 09:24:32 24 4
gpt4 key购买 nike

我有一个 CREATE TABLE 查询,它可以使用两种方法完成(为数千/百万条记录创建 select 语句):

第一种方法:

create table as select some data minus (select data from other table)

首先我应该创建表

create table as select .....

然后

delete from ..where exist.

我猜第二种方法更好。对于哪个查询成本更低?为什么负查询不如第二种方法快?编辑:我忘了提到 create 语句也有来自两个表的连接。

最佳答案

minus 很慢可能是因为它需要对磁盘上的表进行排序以便比较它们。

尝试用 NOT EXISTS 而不是 MINUS 重写第一个查询,它应该更快并且生成更少的 REDO 和 UNDO(如 a_horse_with_no_name 提到)。当然,要确保WHERE子句中涉及的所有字段都被索引了!

关于sql - 减去 vs 删除 oracle 中存在的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11779267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com