DECLARE srec DBMS_STATS.STATREC; v_distcnt NUMBER; v_density NUMBER; v_nullcnt NUMBER; v_avgclen NUMBER; numvals DBMS_STATS.NUMARRAY; charvals DBMS_STATS.CHARARRAY; datevals DBMS_STATS.DATEARRAY; BEGIN
-- 数值类型 DBMS_STATS.get_column_stats (ownname => user, tabname => 'TB0821', colname => 'A', distcnt => v_distcnt, density => v_density, nullcnt => v_nullcnt, srec => srec, avgclen => v_avgclen ); numvals := DBMS_STATS.numarray (1, 100000); DBMS_STATS.prepare_column_values (srec, numvals);
DBMS_STATS.set_column_stats (ownname => user, tabname => 'TB0821', colname => 'A', distcnt => v_distcnt, density => v_density, nullcnt => v_nullcnt, srec => srec, avgclen => v_avgclen ); -- 字符类型 DBMS_STATS.get_column_stats (ownname => user, tabname => 'TB0821', colname => 'B', distcnt => v_distcnt, density => v_density, nullcnt => v_nullcnt, srec => srec, avgclen => v_avgclen ); charvals := DBMS_STATS.chararray ('A_MIN', 'Z_MAX'); DBMS_STATS.prepare_column_values (srec, charvals);
DBMS_STATS.set_column_stats (ownname => user, tabname => 'TB0821', colname => 'B', distcnt => v_distcnt, density => v_density, nullcnt => v_nullcnt, srec => srec, avgclen => v_avgclen ); commit; end; /
|