【发布时间】:2011-09-21 10:24:57
【问题描述】:
我的 SQL 查询需要 9 个小时才能执行。见下文:
Select Field1, Field2
From A
Where Field3 IN (45 unique values here)
当我将此查询拆分为 3 个完全相同的查询时,每个查询在 IN 子句中都有 15 个值,它们每个都需要 2 分钟来执行。 因此,我现在花费 6 分钟(3 个查询 * 2 分钟),而不是花费 9 小时。
谁能解释一下在IN 子句中只有值数量不同的相同查询如何花费不同的时间来运行?
【问题讨论】:
-
您使用的是哪个数据库?您能否为这两种情况发布等效的执行计划?
-
我使用 Oracle 数据库。不幸的是,我无法检索执行计划。 Field3 是一个 3 位数字。
标签: sql performance operator-keyword