« 激安なのに、丸儲けできるカラクリ | メイン | Googleブックスがすごいけん。 »

Oracle INDEXの構築 (後編)

         

知らなかった。。。

http://www.oracle.co.jp/iSeminars/080802_1100/id_001653.pdf

33ページあたりから
 Bツリーインデックスのリーフ分離を以下で算出

ー> 事前に統計情報が最新であることが望ましい
SELECT LF_ROWS AS "リーフ行の数",
LF_BLKS AS リーフブロック数,
DEL_LF_ROWS AS "削除リーフ行の数",
TO_CHAR(DEL_LF_ROWS/LF_ROWS * 100,'999.9') || '%' AS "削除リーフ行の割合"
FROM INDEX_STATS;

         


削除リーフの割合を確認して、適時実行の判断材料とする。(2割以上で対応)
オラクル推奨は、 週1、月1の自動化 

----
Oracleのインデックスは、アナライズでは、分析情報をCOBに与えるだけの
統計情報管理しかできない。そのため、劣化が激しい場合は、再構築をする
必要がある。

もっとも簡単な方法は DROP CREATE ではあるが、それ以外に、リビルドで再構築
することが可能

1. ALTER INDEX (index_name) REBUILD ;

注意点
REBUILD中は領域を利用するので、スペースは十分確保する必要がある。

COBに再度統計情報を最新結果にして格納
2. ANALYZE INDEX (index_name) VALIDATE STRACTURE ;

なお、REBUILD ONLINE オプションは、EE版のみ。こういうところがオラクルの
商売かも。
断片化率が高く、時間をかけられない場合は、効率性のみを重視しコアレスを実施する
のもあり

ALTER INDEX (index_name) COALESCE; 

でもう少し軽い断片化解消もできる。

トラックバック

このエントリーのトラックバックURL:
http://www.ostl.net/blog/mt-tb.cgi/559

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2010年02月19日 12:11に投稿されたエントリーのページです。

ひとつ前の投稿は「激安なのに、丸儲けできるカラクリ」です。

次の投稿は「Googleブックスがすごいけん。」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
MT3系