电脑技术吧

会员投稿 会员登录 会员注册 网站公告:
搜索: 您现在的位置主页 > SQL亚博ios下载地址 > 数据库 > 正文

Dba_Segments .blocks=Dba_Tables.Blocks+Dba_Tables.Emp

作者:admin    文章来源:互联网 电脑技术吧     点击数:    更新时间:2011-09-27
收藏】 【挑错】 【推荐】 【打印

 
  运行如下脚本,发现许多表不满足条件:Dba_Segments .blocks=Dba_Tables.Blocks+Dba_Tables.Empty_Blocks
 
  SQL> SELECT ds.segment_type,ds.segment_name ,ds.blocks ds_block,dt.blocks dt_block,dt.empty_blocks dt_emp_block FROM Dba_Segments ds,dba_tables dt
  2  WHERE ds.segment_name=dt.table_name
  3  AND ds.blocks<>(dt.blocks+dt.empty_blocks)
  4  AND ds.owner='TEST_USER'
  5  AND dt.owner='TEST_USER'
  6  AND ds.segment_name='ACCT';
 
SEGMENT_TYPE SEGMENT_NAME DS_BLOCK DT_BLOCK DT_EMP_BLOCK
------------------ --------------------------- ---------- ---------- ------------
TABLE  ACCT 32  5  0
 
SQL>

本文来自织梦

  这种现象,是由于统计信息不准确造成的,现在对表ACCT进行分析,计算统计信息:
 
  SQL> analyze table acct compute statistics;
 
  Table analyzed
 
  SQL>
 
  然后重新运行上面的查询:
 
  SQL> SELECT ds.segment_type,ds.segment_name ,ds.blocks ds_block,dt.blocks dt_block,dt.empty_blocks dt_emp_block FROM Dba_Segments ds,dba_tables dt
  2  WHERE ds.segment_name=dt.table_name
  3  AND ds.blocks<>(dt.blocks+dt.empty_blocks)
  4  AND ds.owner='TEST_USER'
  5  AND dt.owner='TEST_USER'
  6  AND ds.segment_name='ACCT';
 
SEGMENT_TYPE SEGMENT_NAME DS_BLOCK DT_BLOCK DT_EMP_BLOCK
------------------ --------------------------------- ---------- ---------- ------------
 
SQL>
 
 
上面的查询,没有返回结果,说明ACCT表满足如下条件:

本文来自织梦

织梦好,好织梦

内容来自dedecms
发表评论 请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名:密码:新注册匿名
评论总数: [ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 在线帮助