Oracle11g 使用视图而不是基表时的性能问题

Oracle11g 使用视图而不是基表时的性能问题,oracle11g,Oracle11g,我们的一个hibernate查询使用view v_abc而不是表abc。 问题是,当我使用view时,查询会花费很多时间来执行,而当我使用基表时,查询的执行速度非常快,尽管两者的解释计划显示完全相同的读取成本、基数和联接 有人能帮忙吗?原因是什么 请注意:视图v_abc为“从abc中选择*” 此外,hibernate查询如下所示: select v.* from v_abc v ,pqr p where v.col_1 =p.col_1 and p_col_2 = 123 ) 谢谢如果在没有H

我们的一个hibernate查询使用view v_abc而不是表abc。 问题是,当我使用view时,查询会花费很多时间来执行,而当我使用基表时,查询的执行速度非常快,尽管两者的解释计划显示完全相同的读取成本、基数和联接

有人能帮忙吗?原因是什么

请注意:视图v_abc为“从abc中选择*”

此外,hibernate查询如下所示:

select v.*
from v_abc v ,pqr p
where v.col_1 =p.col_1
and p_col_2 = 123
)


谢谢

如果在没有Hibernate的情况下运行相同的查询(例如在SQL Plus或SQL Developer中),会发生什么情况?是的……以上步骤仅在pl/SQL Developer上的SQL窗口上执行。我们想对这个查询进行性能调优,所以我们观察了使用视图和不使用视图时的行为。但我无法理解为什么即使解释计划显示了完全相同的数据,查询在没有视图的情况下也会快速执行。这看起来很奇怪。视图和基表是否在同一个数据库上,即不涉及dblink?是。它们都在同一个数据库上。不使用DB链接。