侍エンジニア塾
Home » database » リーフブロックの分析(INDEX TREE DUMP)

リーフブロックの分析(INDEX TREE DUMP)

リーフブロックの分析の解説

インデックスは、ルート、ブランチ、リーフで構成されています。B-Tree のレベル数(ルート・ブロックからリーフ・ブロックまでの階層)が高くなるとアクセス効率が低下するということは、インデックスの断片化の確認で解説していますので一読ください。どのくらいリーフブロックがあるか分析することで、パフォーマンスチューニング分析の一助となります

 

リーフブロックを分析するには

まずはINDEX(インデックス)のメカニズムを確認してください

インデックスの効率が悪くなった時など、インデックスのリーフブロックを分析することができます

 

1.調べたいインデックスのオブジェクトIDを取得する

最初に、調べたいインデックスのオブジェクトIDを取得します。取得するSQLは以下になります

index-tree-dump1

2.INDEX TREE DUMPの取得

次にINDEX TREE DUMPを取得します。取得するSQLは以下になります。SQLの実行はSYSTEM権限が必要です

index-tree-dump2

3.INDEX TREE DUMPの分析

INDEX TREE DUMPはトレースファイルとして出力されます

(XEの場合のトレースファイル格納場所:C:\oraclexe\app\oracle\diag\rdbms\xe\xe\trace)

index-tree-dump3

4.ブランチ、リーフのデータをダンプする(前処理)

実際のブランチ、リーフのデータをダンプする前処理になります。以下のSQLを実行します

(XEの場合:C:\oraclexe\app\oracle\diag\rdbms\xe\xe\trace)

index-tree-dump4

5.ブランチ、リーフのデータをダンプする(後処理)

実際のブランチ、リーフのデータをダンプする後処理になります。以下のSQLを実行します

(XEの場合:C:\oraclexe\app\oracle\diag\rdbms\xe\xe\trace)

index-tree-dump5

ツリーダンプ取得時の注意点!

ツリーダンプ取得は、それなりに負荷がかかりますし、INDEXが大きければ、吐き出すファイルサイズも大きくなります。取得する時は注意しましょう!

 

6.トレースファイルの確認(Branch block dump)

トレースファイルの中のブランチを確認します

index-tree-dump67.トレースファイルの確認(Leaf block dump)

トレースファイルの中のリーフブロックを確認します

index-tree-dump7

rentry(PS4レンタル) rentry(スイッチレンタル) rentry rentry(VRレンタル)