oracle查询性能是否依赖于DB用户?

时间:2013-03-04 05:38:53

标签: oracle oracle10g database-performance

我有两个用户 - user1,user2。

两个人都在视图上获得了一个select of select,其中一些其他用户创建的view1表示manager1。

现在,user1和user2都在manager1的视图上创建了同义词,这样他们就不需要使用manager1.view_name进行查询,只需使用view name

CREATE OR REPLACE SYNONYM user1.view_name1 FOR manager1.view_name1;

现在我的问题是同样的查询在user1下执行时花费的时间要长得多,但在user2下执行的时间不到一秒。

我尝试了不同的组合和不同的执行顺序,以避免缓存问题。但徒劳无功。请帮忙。

在user1下大约需要10秒。 :(

1 个答案:

答案 0 :(得分:1)

为什么SQL语句(完全相同的文本)可以具有不同的执行计划有多种原因。这可能是Oracle错误,也可能是"环境中的差异"。例如,占位符的不同数据类型,不同的NLS_参数(排序,区分大小写)。