ORACLE MANIAC

ORACLE技を研究中...

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

  1. --/--/--(--) --:--:--|
  2. スポンサー広告

インデックスの断片化率を判定する index_stats DECODE,SIGN ORACLE

インデックスの断片化率を判定するには

ANALYZE INDEX <インデックス名> VALIDATE STRUCTURE;

SELECT NAME,HEIGHT,
LF_ROWS AS "リーフ行の数",
LF_BLKS AS リーフブロック数,
DEL_LF_ROWS AS "削除リーフ行の数",
TO_CHAR(DEL_LF_ROWS/LF_ROWS * 100,'999.9') || '%' AS "削除リーフ行の割合"
FROM INDEX_STATS;

こんな感じにすると良いだろう。

一般的にHEIGHTが4以上、削除リーフ行の割合が20%以上になると再構築対象となる。

上記条件を付け加えると以下のようになる。
※条件に合致した場合は「ERROR」文字列を表示。

SELECT NAME,HEIGHT,
LF_ROWS AS "リーフ行の数",
LF_BLKS AS リーフブロック数,
DEL_LF_ROWS AS "削除リーフ行の数",
TO_CHAR(DEL_LF_ROWS/LF_ROWS * 100,'999.9') || '%' AS "削除リーフ行の割合",
DECODE(SIGN(HEIGHT-3),1,'ERROR'),
DECODE(SIGN(DEL_LF_ROWS/LF_ROWS * 100 - 20),1,'ERROR')
FROM INDEX_STATS;
スポンサーサイト

テーマ:データベース - ジャンル:コンピュータ

  1. 2008/01/19(土) 09:58:54|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://stiffshoulder.blog102.fc2.com/tb.php/53-692e37c2
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。