【发布时间】:2010-03-05 10:10:56
【问题描述】:
当我尝试做类似的事情时
SELECT Max(ObjectId) FROM Objects;
我在解释计划中看到这是通过排序来执行的。现在,排序(我猜这需要O(nlogn) 的复杂性)必须比仅扫描每一行并记住最大值(可以在O(n) 中完成)要昂贵得多。
我在这里遗漏了什么吗? oracle 真的在执行排序还是解释计划只是使用描述“排序”来描述对 ObjectId 列中所有值的简单扫描?如果 oracle 确实执行了“真正的排序”,那么我是否有充分的理由这样做?
提前致谢!
【问题讨论】:
标签: oracle max sql-execution-plan