ITPub博客

首页 > 数据库 > Oracle > 查看表中某列的low_value和high_value

查看表中某列的low_value和high_value

原创 Oracle 作者:shiable 时间:2016-10-08 16:38:44 0 删除 编辑
在进行SQL优化的过程中,会遇到谓词越界导致执行计划错误的情况,就需要确定其指定列上统计信息中的最大值和最小值是否为最新的,以下是查询转换的SQL

点击(此处)折叠或打开

  1. set serveroutput on
  2.   declare
  3.     a_low dba_tab_columns.low_value%type;
  4.     a_high dba_tab_columns.high_value%type;
  5.     aa NMOSDB.TFA_ALARM_CLR.EVENT_TIME%type;
  6.   begin
  7.     SELECT LOW_VALUE, HIGH_VALUE
  8.       into a_low, a_high
  9.       FROM dba_tab_columns
  10.      WHERE owner = 'NMOSDB' ----用户名
  11.            AND table_name in ('TFA_ALARM_CLR') ---表名
  12.            and COLUMN_NAME in (upper('EVENT_TIME'));
  13.     dbms_stats.convert_raw_value(a_low, aa);
  14.     dbms_output.put_line(''||aa);
  15.     dbms_stats.convert_raw_value(a_high, aa);
  16.     dbms_output.put_line(aa);
  17.    end;
  18.    /

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

请登录后发表评论 登录
全部评论

注册时间:2014-04-16

  • 博文量
    15
  • 访问量
    19035