オプティマイザ統計

oracle

失効している統計情報のみを取得しなおす(分割実行)

SCOTTスキーマが持つテーブルの中で現在失効している統計情報を取得しなおすプロシージャです。無名ブロックで記載しているのでDBへのストアドは不要でお気軽です。fetch first xxx rows only の部分を適当に変えて使ってく...
oracle

Oracle統計情報について(正式にはオプティマイザ統計)

統計情報とはオプティマイザが正確な実行計画を作成するために必要な情報です。統計情報の収集方法は自動と動的、そして手動があります。基本的には自動+動的に任せてフレッシュな状態を維持しておけば良いのですがイレギュラーに大量データの更新や追加が発生した時などは、手動での統計情報取得を実施しないとオプティマイザが正しいプランを選択されない場合もあります。
oracle

ヒストグラム取得の判断材料はsys.col_usage$にあります

Oracleにヒストグラムの取得対象カラムを任せた場合、sys.col_usage$の値に基づいて対象カラムが決まるようです
oracle

データベース内全てのオブジェクトに関する統計情報を取得

データベース内全ての統計情報取得(システム統計を除くオプティマイザ統計の取得)を行います。 GATHER_DATABASE_STATS データベース単位で統計情報を取得 こちらは時間がかかるので実行する際にはご注意ください。 begin D...
oracle

Oracle ヒストグラムの取得状況を確認する

DBA_TAB_COL_STATISTICS ヒストグラムの取得状況はDBA_TAB_COL_STATISTICSにて取得されているカラムのみ確認できます。取得できていないカラムも確認する場合、DBA_TAB_COLS(注1)と結合する必要...
oracle

表統計と列統計(ヒストグラム)の取得と削除確認

DBMS_STATS.GATHER_TABLE_STATSで表統計と列統計を取得する 手動で表統計情報の取得を行うにはDBMS_STATS.GATHER_TABLE_STATS(プロシージャ)を使います。こちら勘違いされがちなのですが列統計...