您的位置:首页 > 数据库 > Oracle

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

2012-08-13 14:50 309 查看
在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);

在我们经常做表的分析时会看到使用dbms_stats和analyze在这个方面也会有点不同。
就是当使用dbms_stats来分析表的时候global_stats是YES,而用analyze来分析表的时候就是NO.
而且num_rows结果也会有些不同

转载地址:http://hi.baidu.com/urlgaojian/blog/item/e2807611108bbf77cb80c470.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: