小编aoi*_*222的帖子

Oracle是否使用短路评估?

我有一个Oracle查询,其结构如下:

SELECT   *
FROM     table
WHERE    X='true' OR
         Y IN (complicated subquery)
Run Code Online (Sandbox Code Playgroud)

如果Oracle看到X确实等于'true',它仍然会尝试评估WHERE子句的Y IN(子查询)部分吗?此外,在诸如此类的语句中,子查询是否会对表中的每个条目执行多次?我会用以下的东西变得更好:

WITH subQ as (complicated subquery)
SELECT   *
FROM     table
WHERE    X='true' OR
         Y IN (SELECT id FROM subQ)
Run Code Online (Sandbox Code Playgroud)

sql oracle

16
推荐指数
2
解决办法
1万
查看次数

标签 统计

oracle ×1

sql ×1