【发布时间】:2012-03-27 06:46:24
【问题描述】:
我们有 Oracle 11gR2 数据库。它有两个用户 User1 和 User2。在运行相同的测试用例时,我们看到 User2 的性能下降了大约 2 倍。 Schema,这两个不同用户的记录是相同的。
查询dba_users 显示两者都使用相同的默认表空间和临时表空间。
谁能详细说明我可以检查哪些其他参数以及如何检查?
【问题讨论】:
-
检查两个模式是否有最新的统计信息,否则它们之间的查询执行路径可能不同,从而导致您的性能问题。
-
只是猜测 - 测试是否一个接一个地运行,用户 2 先运行然后用户 1?如果是这样,可能是 User2 必须从磁盘读取数据,然后在 User1 运行相同的测试时将数据缓存在内存中。
-
测试不是一次而是多次运行(有时连续,有时一个接一个,没有特定的顺序)。我相信这将消除缓存的影响。