【发布时间】:2011-11-01 14:34:03
【问题描述】:
我有一个连接大约 20 个表(主要是外部连接)的大型查询。它使用带有逗号的旧连接语法和带有 (+) 的外部连接条件。 我们注意到它消耗了大量的服务器内存。我们正在尝试几件事,其中一个想法是将此查询转换为使用较新的 ANSI 语法,因为 ANSI 语法允许更好地控制 JOIN 的顺序,并在应用时明确指定 JOIN 谓词。
对于跨越大量表的此类大型查询,将查询从旧语法转换为新 ANSI 语法是否有助于减少处理的数据量?
【问题讨论】:
-
通常我会说不,这不会影响性能 - 除非您使用基于成本的优化器。您使用的是哪个 Oracle 版本?你能发布查询吗?
-
谢谢大家。您帮助我们节省了一些时间,因此我们没有立即将重点放在不太重要的领域。从长远来看,我们计划转向 ANSI 语法。另外,感谢有关减少服务器内存要求的其他建议。