【问题标题】:Oracle - JOIN two complex Views - optimizer faultsOracle - 加入两个复杂视图 - 优化器故障
【发布时间】:2011-08-15 13:40:24
【问题描述】:

我有两个相当复杂的观点。我需要生成将通过某个列加入两者的报告。 每个视图在不到一分钟的时间内分别返回完整的结果集。 当我加入他们时,优化器会重建查询并做出奇怪的事情,所以结果根本不会返回。 问题是有没有办法告诉优化器先检索两个集合,然后才加入它们(每个集合只有几千条记录)。

暂时的解决方案是基于创建中间表(物化视图也可以),但我想在单个查询中这样做,

谢谢

【问题讨论】:

标签: performance oracle join views


【解决方案1】:

如果不能看到解释计划、查询、视图和表结构,就很难确定。我会说,在这些情况下,最好的答案通常是重写查询以不使用视图而直接做你想做的事。说不定就解决了。

如果您做不到,请尝试NO_REWRITE optimizer hint。像这样:

SELECT /*+ NO_REWRITE */ rest_of_your_query_goes_here

这将告诉 Oracle 尝试直接解释您的查询,而不是尝试重写它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 2010-10-14
    • 2018-12-25
    • 2011-11-06
    • 1970-01-01
    • 2012-11-29
    相关资源
    最近更新 更多