とっても ORACLE> ANALYZEコマンドとはOracleのオプティマイザにはコストベースとルールベースがあり、コストベースの場合、ANALYZEコマンドにより採取した統計情報を基に実行計画を立てる。コストベースオプティマイザを使用するためには、INIT.ORAの初期化パラメータのOPTIMIZER_MODEをCHOOSE(デフォルト)にセットし、対象となる表に対してANALYZEを実行する。ANALYZEには、すべてのデータを読み取る方法と一部のデータをサンプリングする方法があり、データサイズが大きく全データを調べていたのでは時間がかかりすぎる場合には、5%程度でサンプリングしたりする。 ■表を調べる。 ○ 表の全データを読み取り統計情報を収集する ANALYZE TABLE 表名 COMPUTE STATISTICS; ○ 5%のデータをサンプリングし統計情報を収集する ANALYZE TABLE 表名 ESTIMATE STATISTICS SAMPLE 5 PERCENT; ○ 表の統計情報を削除する ANALYZE TABLE 表名 DELETE STATISTICS; またANALYZEコマンドにより連鎖行が発生していないかを調べることもできる。 ○連鎖行を調べる (例)
またDBA_TABLESビューのCHAIN_CNT列にて連鎖、移行行の情報が確認できる。 ■インデックスを調べる
削除行の割合が現在の索引エントリ数の20%を超える場合は、索引の再構築を検討する。
ブランチ・ノードの階層が高くなっている場合(4以上)も、索引の再構築を検討する。 削除されたリーフ行(DEL_LF_ROWS)が多い場合も注意。 いつ統計情報が取得されたかを確認するには、USER_TABLESのLAST_ANALYZEDカラムを見る。 ※索引の再構築は、ALTER INDEX インデックス名 REBUILD オラクル製品のお見積りご購入はこちら ユーザー登録すると、オンライン特別割引価格で見積できます。
|
|
||||
Copyright(c) 1999-2018 ITNAVI.com サイト運営者情報
|