Oracle9の統計情報デフォルトこんにちはゲストさん。>>解決済みの質問Oracle9の統計情報デフォルトOracle9の統計情報なしのデフォルトを使用してSQLを実行しているのですが、この「統計情報なしのデフォルト」とはどのようなものかご存知の方、あるいは参考情報を頂けないでしょうか?デフォルトと言うものはある程度の統計情報を計算してくれるものなのでしょうか?現在、あるSQLの速度が遅いのですが、SQLの構成を替える前に「統計情報なしのデフォルト」から「統計情報を取る」に変更すべきか分かりません。統計情報なしのデフォルトということはオプティマイザはルールベースで実行されます。ルールベースはSQLの書き方(WHERE句の構文等)とインデックス情報によってどのようにアクセスするか決定します。>現在、あるSQLの速度が遅いのですが、SQLの構成を替える前に「統計情報なしのデフォルト」から「統計情報を取る」に変更すべきか分かりません。そのシステムが「運用中」なのか「開発中」なのかで多少状況が変わりますが、「運用中」であるなら『「統計情報を取る」に変更』することは控えたほうが良いと思います。「統計情報を取る」ようにしたことで他のSQLが遅くなる「可能性」があるためです。統計情報をとりたいのであればどのようなタイミング、間隔でどのオブジェクトに対し統計情報を取るかなどいろいろ決める必要があります。遅いSQLがわかっているのであれば、SQLTRACEなどで実行計画を確認し、そのSQLに対し遅い原因を解消してあげるべきだと思います。#統計情報を取ったからといってすべてのSQLが速くなるワケではないので。#参考URLの記事は若干古いバージョンのものですが、基本となる考えは変わりませんので参考になると思います。#統計情報は9iの場合はdbms_statsパッケージを使います。00:14:57お礼ありがとうございました。回答(4)ANo.4MZ-80Bデフォルト統計は確かパフォチューガイドに掲載されています。13:14:08お礼ありがとうございました。(0)通報するANo.3ossan_hiro#1です。対象オブジェクトに統計情報が存在しない場合に使われます。言い忘れていましたが、私の言っていたのはOPTIMIZER_MODEがchooseの場合です。12:28:43お礼ありがとうございました。(0)通報するANo.2entree統計情報のデフォルト値はブロック数、平均レコード長、カーディナリティなどがあり、ハードコーディングされています。(つまり、計算されているわけではなく、いかなる表や索引に対しても固定値が使用されます。対象オブジェクトに統計情報が存在しない場合に使われます。開発中なら統計情報を取ってもいいと思いますが、本番運用中であれば影響範囲を最小限にするために、ヒント句を使用するのが一般的でしょう。11:17:57お礼ありがとうございました。10gで統計情報が取得されたことを確認するSQL文を教えてください。統計情報の取得方法...オラクルとは。