【问题标题】:Oracle SELECT in SELECT statement optimizationOracle SELECT 中的 SELECT 语句优化
【发布时间】:2015-03-27 01:29:52
【问题描述】:

oracle 是否优化 select 中的 select 语句?

例如简单查询

SELECT
 test.a as a,
 test.b as b,
 (SELECT id from inner_table WHERE inner_table.code = 'active')
FROM test

假设表 test 有 1000 条记录,Oracle 会做什么?

对每条记录每次都执行选择?缓存了吗?

或者有办法使用它吗?

【问题讨论】:

    标签: sql oracle subquery


    【解决方案1】:

    是的,Oracle 将缓存标量子查询。 Tom Kyte 有一个good piece on the subject.

    在您的情况下,我希望子查询将执行一次,并将缓存值用于后续行。

    【讨论】:

    • 谢谢,好文章。有什么方法可以验证oracle是否缓存了它?
    • 也许this asktom post 会帮助你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    • 2019-12-31
    • 1970-01-01
    • 2014-01-07
    相关资源
    最近更新 更多