Oracle - JOIN两个复杂视图-优化器错误



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

目前的解决方案是基于创建中间表(物化视图也工作),但我想在单个查询中做到这一点,

谢谢

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

如果您不能这样做,请尝试NO_REWRITE优化器提示。这样的:

SELECT /*+ NO_REWRITE */ rest_of_your_query_goes_here
告诉Oracle直接解释你的查询,而不是重写它。

最新更新