【发布时间】:2011-02-10 17:10:01
【问题描述】:
我正在比较查询我的开发和生产数据库。
它们都是 Oracle 9i,但几乎每个查询都有完全不同的执行计划,具体取决于数据库。
所有表/索引都相同,但 dev 数据库中每个表的行数约为 1/10。
在生产环境中,它为大多数查询选择的查询执行计划与开发环境不同,而且成本有时会高出 1000 倍。在某些情况下,生产中的查询似乎也没有使用正确的索引进行查询(全表访问)。
我最近也在这两个数据库上运行了 dbms_utility.analyze 架构,希望 CBO 能解决一些问题。
是否有其他一些潜在的 oracle 配置可能导致这种情况?
我主要是一名开发人员,所以这种 DBA 分析一开始是相当混乱的..
【问题讨论】:
-
您是否更新了统计信息? UPDATE STATISTICS schema.table WITH FULLSCAN;
-
@mevdiven - 抱歉,这不是 Oracle 语法。 @Will - 你想了解和使用 Oracle DBMS_STATS 包。
-
你说得对。那不是甲骨文。 Oracle 是分析表。谢谢指正。
标签: oracle performance oracle9i sql-execution-plan