OracleDatabaseの「統計情報」とは何か?なぜ取得するのか?
運用方法とは?について紹介します。 OracleDatabaseを運用して上で最も重要な要素の1つです。
この記事でOracleDatabase初心者でも分かりやすく統計情報について紹介していますので、
「統計情報」の概要をしっかりと学んでいきましょう。
統計情報とは何か?なぜ統計情報を取得するのか?
表や索引のサイズ・データの種類・分布・特性を表す情報です。
その他DB全体・OS上の情報も統計情報としてOracleDatabaseへ保存します。
統計情報はOracleDatabaseのオプティマイザーが作成する「実行計画」を作成するためのINPUT情報として使用されます。

統計情報が存在しないと最適な実行計画が作成されないため、SQLが性能劣化する可能性が高くなります。
ただし「統計情報を取得していない」または「統計情報が古い」イコール「性能劣化」というわけではないので注意しましょう。
統計情報の種類
統計情報には多くの種類があります。 以下網羅的に統計情報と取得対象・タイミングをまとめました。
[table id=59 column_widths=20%|40%|40%/]
統計情報の取得はデータベースに大きい負荷を与える処理になります。
取得する頻度やタイミングも重要になりますの注意しましょう。
統計情報の取得方法
統計情報には大きく分けて3つの取得方法があります。
それぞれに特性があり、メリット・デメリットも存在しますので正しく使いこなす必要があります。
[table id=60 /]
統計情報の運用方法と扱う時の注意事項
統計情報の運用方法を大きく分けて2つあります。
[table id=61 column_widths=20%|40%|40%/]
「統計情報を取っていれば性能は安定する」というのは大きな間違いです。
また「統計情報を固定化すればSQLの性能劣化は発生しない」というのも間違いになります。
正しい知識をもって正しい統計情報運用することでデータベースをヘルシーに保つことができます。
[itemlink post_id=”4915″]