ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 46

46

原创 Linux操作系统 作者:simkyo 时间:2013-08-29 11:08:41 0 删除 编辑
  /**过程内容: 判断统计信息是否同步,如不同步,手工收集统计信息作者: Tianlesoftware时间:2011-5-25*/
  FOR x IN c1 LOOP
    t_tablename := x.TABLE_NAME;
    t_num_rows  := x.num_rows;
    t_sql       := 'select count(*) from ' || t_tablename;
    Execute immediate t_sql into t_count;
    DBMS_OUTPUT.PUT_LINE('t_tablename:--' || t_tablename || '--' ||
                         ' t_num_rows is:t_count :--' || t_num_rows || ': ' ||
                         t_count);
    if abs(t_count - t_num_rows) >= 10000 then
      -- 当统计信息中的记录数与表中实际的记录数差距超过10000时,就分析该表
      dbms_stats.gather_table_stats('SCOTT', t_tablename);
    end if;
  END LOOP;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE('NO_DATA_FOUND');
    RETURN;
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('OTHERS');
    RETURN;
END;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12961536/viewspace-769518/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 45
下一篇: 47
请登录后发表评论 登录
全部评论

注册时间:2013-06-20

  • 博文量
    193
  • 访问量
    137029