伪造Oracle统计数据?

时间:2011-08-18 22:28:43

标签: performance oracle

有没有办法强迫Oracle“看到”一个表和相关索引比实际更大?

换句话说,有没有办法“伪造”数据库统计数据,因此基于成本的优化器会在几乎空的数据库上做出决策,这更接近于在真实的大型生产数据库中做出的决策?

我们的想法是能够在数据库设计过程的早期阶段用各种索引/查询/(反)规范化策略进行实验(相对于执行计划),而不用浪费时间编写充满代表性测试的代码。因为数据库设计还没有解决,所以数据(大部分数据最终都会被丢弃)。

导入统计数据是不可能的,因为生产数据库还不存在。

1 个答案:

答案 0 :(得分:8)

不确定。 DBMS_STATS包具有许多过程,允许您强制对象进行统计。例如,有dbms_stats.set_table_statsdbms_stats.set_index_stats程序。