当我尝试使用Oracle Statistics时,我的成本会增加吗?

fer*_*hur 1 oracle statistics optimization

我对表有一个很大的疑问,我想优化它.

奇怪的是,当我得到没有统计数据的执行计划时,它会说1.2M之类的东西.但是,如果我获得查询中涉及的其中一个表的统计信息,我的成本会降低到4k.但如果我在其他表格中要求统计数据,成本会增加到50k,所以我不确定发生了什么.

任何人都可以解释为什么提供更多统计数据会增加查询成本?

Jef*_*emp 5

基于成本的优化工具使用尽可能多的信息来计算计划的成本.如果您更新(即更改)它使用的统计数据,那么显然会改变计划的计算成本.

实际上并不是收集统计数据导致成本增长 - 这些统计数据的变化(无论是向上还是向下)导致计算的成本发生变化.

在没有统计数据的情况下,Oracle可能会使用启发式,猜测或快速的数据样本(取决于您实例中的设置).

通常,统计数据越好(越准确或更具代表性),成本计算越准确.