不能取代的analyze

 


话说对表分析有两种方式,一种是用analyze,另外一种是用dbms_stat,目前来看大多数情况都使用后者,主要原因是可以使用并行。
但是昨天我在对表查看是否高水位的时候(我腻断肯定高水位),使用dbms_stat不能查看表是否高水位,最后还得看analyze。

使用dbms_stat搜集统计信息之后
SQL> SELECT TABLE_NAME,NUM_ROWS,BLOCKS,EMPTY_BLOCKS FROM USER_TABLES WHERE TABLE_NAME='RPT_KPI_SR_QD';
 
TABLE_NAME             NUM_ROWS     BLOCKS EMPTY_BLOCKS
---------------------- ---------- ---------- ------------
RPT_KPI_SR_QD           6990836     813917         0
不能查看到空块的存在。
使用analyze分析表
SQL> analyze table rpt_kpi_sr_qd compute statistics;
 
Table analyzed
SQL> SELECT TABLE_NAME,NUM_ROWS,BLOCKS,EMPTY_BLOCKS FROM USER_TABLES WHERE TABLE_NAME='RPT_KPI_SR_QD';
 
TABLE_NAME             NUM_ROWS     BLOCKS EMPTY_BLOCKS
---------------------- ---------- ---------- ------------
RPT_KPI_SR_QD           6990836     813917         1443
查看到空块之后,收缩表高水位。
 
SQL> SELECT TABLE_NAME,NUM_ROWS,BLOCKS,EMPTY_BLOCKS FROM USER_TABLES WHERE TABLE_NAME='RPT_KPI_SR_QD';
 
TABLE_NAME                       NUM_ROWS     BLOCKS EMPTY_BLOCKS
------------------------------ ---------- ---------- ------------
RPT_KPI_SR_QD                     6978205      60543         1443

大幅度的降低了表的块

远程访问表数据量大,返回的结果集少的情况下,在本地使用视图,最后远程调用视图会起到不错的效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值