【发布时间】:2016-11-11 15:33:41
【问题描述】:
我正在尝试创建一个清理脚本来清除所有未使用的描述: 我的查询看起来像:
DELETE FROM DESCRIPCIONES WHERE ID_DESCRIPCION NOT IN
(SELECT ID_NOMBRE FROM CUESTIONARIOS
UNION
SELECT ID_DESCRIPCION FROM CUESTIONARIOS
UNION
SELECT ID_NOMBRE FROM PLANTILLAS
....
)
此外,我在此查询中有更多的 UNION。这就是为什么此查询需要太多时间的原因。有没有办法用更快的 LEFT JOIN 替换此查询并避免嵌套查询。 PD:甲骨文11g
谢谢
【问题讨论】:
-
SQL 问题和大喊大叫的标题是怎么回事?
-
没有得到你的问题...
-
用 union all 替换所有这些 union 可以获得一些性能优势
-
@KapitulaAlexey 我看到很多与 SQL 相关的问题都是大写的。我只是好奇为什么会这样。
-
ID_DESCRIPTION NOT IN ID_NOMBRE是描述并命名您要比较的东西?或者子查询应该只包含ID_DESCRIPTION的选择。同样正如 Boneist 所说,使用union all而不是union,您应该更快地获得结果。