oracle查看和更新统计表的信息

在OEM中查看数据库的会话时,发现有一个会话的SQL要10多秒

在PL SQL中执行 SQL按F5查看这个SQL的计划,发现别的地方有 调用索引,

oracle统计值查看

select * from dba_tables where table_name = TABLE

检查一下字段last_analyzed 的值,其值就是最后一次统计更新的日期

更新查看

全表分析   完全计算法:   analyze   table   abc   compute   statistics;   抽样估算法(抽样20%):   analyze   table   abc   estimate   statistics   sample   20   percent;  

 对表作完全计算所花的时间相当于做全表扫描,抽样估算法由于采用抽样,比完全计算法的生成统计速度要快,如果不是要求要有精确数据的话,尽量采用抽样分析法。建议对表分析采用抽样估算,对索引分析可以采用完全计算。 使用dbms_stats

exec dbms_stats.gather_table_stats(OWNNAME=>'tccs',tabname=>'emp',cascade=>true);

oracle 更新统计信息要注意什么?[@more@]

1 执行的时间要避免白天任务繁重的时间,避免对系统性能的影响,更新统计信息将导致大量的软解析,影响性能。

2 夜间执行时,如有大数据量变动的任务,应该在此任务之后执行统计更新,避免统计信息不准。

3 避免在数据变化不大的时间间隔之内,过于频繁的执行。

4 对表数据倾向严重的,要专门的搜集直方图统计

5 对于执行计划不符合预期的,适时检查统计信息的准确性。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值