侍エンジニア塾
Home » database » オプティマイザ統計(コスト)

オプティマイザ統計(コスト)

オプティマイザ統計(コスト)とは

OracleはSQLを実行する上でコンピュータリソースを効率的に活用するために実行計画を作成します。その実行計画を作成する上で元となる情報がオプティマイザ統計(コスト)情報です。そのオプティマイザ統計(コスト)情報を理解することでSQLのパフォーマンスにどのように影響するかを理解することでパフォーマンス向上に寄与します

 

オプティマイザ統計(コスト)とは

オプティマイザ統計(コスト)は、データベースとそのオブジェクトに関する詳細情報を記述するデータの集合です。これらの統計は、問合せオプティマイザで各SQL文に最適の実行計画を選択するために使用されます

オプティマイザ統計には次のものがあります

 

◆表統計

–行数

–ブロック数

–行の平均長

◆列統計情報

–列内の個別値(NDV: Number of Distinct Value)数

–列内のNULL数

–データ配分(ヒストグラム)

◆索引統計

–リーフ・ブロック数

–レベル

–クラスタ化係数

◆システム統計

–I/Oパフォーマンスと使用率

–CPUパフォーマンスと使用率

 

コストとは、Oracleが内部で処理量を判断するために使う尺度のことです

 

【統計情報の取得について】

 

◆初期化パラメータ statistics_level=‘TYPICAL’

デフォルト設定のTYPICALでは、データベースの自動管理機能で必要とされるすべての主要統計が収集され、全体的なパフォーマンスが最適化されます

◆取得条件

–新規に作成された表やオプティマイザ統計情報を削除された表

–監視される表の変更が10%を超えた場合、これらの統計は失効したものとみなされ再度収集されます

◆ディフォルト取得時間

–月~金の 22:00 ~ 2:00

–土~日の 6:00 ~ 2:00

◆オプティマイザ統計情報取得JOB

–GATHER_STATS_JOB

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