侍エンジニア塾
Home » database » SQLチューニングのためのI/O分析

SQLチューニングのためのI/O分析

SQLチューニングのためのI/O分析について

STATSPACKはOracleチューニングを行う上で重要な情報を取得できます

ここではSTATSPACKを使用してSQLチューニングのためのI/O分析をします

 

Physical Reads(物理読込)とLogical Reads(論理読込)

 

Oracleの場合のI/Oとはディスクからの読込であるPhysical Reads(物理読込)とメモリ(SGA)からの読込であるLogical Reads(論理読込)があります

書込みは読込に比べ圧倒的に少ないので問題になることは少ないです

SQL分析で解説したSQL ordered by Gets(バッファ読込の多いSQL)との関係を分析します

STATSPACKのSegments by Logical Readsの項目を分析します

この項目のObject Nameがオブジェクト名になります

Logical Reads(バッファ読込)が多いオブジェクト順に表示されます

つまり、そのオブジェクト(テーブルやインデックス)が他に比べて高い数値であれば問題がある可能性があります

問題SQLがそのテーブルやインデックスを使用しているのであれば、明らかにそのSQLに問題あることが分かります

Logical Readsバッファ読込が多いテーブルはラッチ競合のホットブロックになっている可能性が考えられます

 

次に

SQL分析で解説したSQL ordered by Reads(物理読込の多いSQL)との関係を分析します

STATSPACKのSegments by Physical Readsの項目を分析します

この項目のObject Nameがオブジェクトになります

Physical Reads(物理読込)が多いオブジェクト順に表示されます

 

SQLの問題かバッファキャッシュの問題か

 

Physical Reads(物理読込)が多い場合、大量に読まなければならないSQLの問題か

バッファキャッシュの問題かのどちらかです

バッファキャッシュの問題であるならば、他のテーブルも影響を受ける可能性がありますので、SQLの問題ではない可能性があります

特定のテーブルやインデックスの場合SQLに問題がある場合が多いです

 

 

One thought on “SQLチューニングのためのI/O分析

Comments are closed.

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