オラクル10g
先建立个统表
テーブル T_ANALYZ_MONITOR_INDEX を作成する
(
F_INDEX_NAME VARCHAR2(50)、
F_DEL_LF_ROWS 番号、
F_LF_ROWS NUMBER、
F_RATE NUMBER(4,2)、
F_MONITOR_DATE DATE デフォルトの sysdate が null ではありません
);
再構築史表
select * fromindex_stats としてテーブル t_analyz_index_stats を作成します
分析過程表を作成し、入力履歴表を分析します。
作成または置換プロシージャ P_ANALYZ_DAY_INDEX_SATAS は
v_sql varchar2(100);
始める
for a in (Select INDEX_NAME From User_Indexes Whereindex_type<>'LOB') ループ
v_sql := ' インデックスを分析 ' || a.インデックス名 || ' 構造を検証します';
v_sql を即時に実行します。
T_ANALYZ_INDEX_STATS に挿入
Index_Stats から * を選択します。
T_ANALYZ_MONITOR_INDEX(F_INDEX_NAME, F_DEL_LF_ROWS, F_LF_ROWS, F_RATE) に挿入
名前を選択,del_lf_rows,lf_rows,round(del_lf_rows * 100 / decode((lf_rows + del_lf_rows),0,1), 2)
Index_stats から;
ループを終了します。
終わり;
注意: 到達したインデックスは同じユーザー名の下にあります
本書来源 CSDN 博客、转下请标明出处: http://blog.csdn.net/ZengMuAnSha/archive/2009/12/30/5107740.aspx