DB2のスキーマのすべてのテーブルのDB2統計を簡単に収集する方法はありますか。DB2スキーマのすべてのテーブルで自動的に統計を収集する方法は?
私は現在、2つのステップでこれを行う:
は、スキーマ内のすべてのテーブル名のリストを生成します。
次に、各テーブルに対して、次の操作を行います。あなたはスクリプトRUNSTATSを主張する場合は、DB2 LUWのV9.7についてLUW
DB2のスキーマのすべてのテーブルのDB2統計を簡単に収集する方法はありますか。DB2スキーマのすべてのテーブルで自動的に統計を収集する方法は?
私は現在、2つのステップでこれを行う:
は、スキーマ内のすべてのテーブル名のリストを生成します。
次に、各テーブルに対して、次の操作を行います。あなたはスクリプトRUNSTATSを主張する場合は、DB2 LUWのV9.7についてLUW
上
RUNSTATS ON TABLE schema.table AND INDEXES ALL
DB2バージョン9.7は、あなたはその後、オブジェクトのリストを生成しなければなりませんそれらのオブジェクトをrunstatsします。これは簡単にスクリプトを作成できます。 auto_runstatsを使ってDb2をrunstatsにするほうがよい場合もあります。
REORGCHKコマンドの副作用もありますが、これは構文「db2 reorgchk update statistics on schema X'
」です(これは使いたくないかもしれませんが)。
自動実行の場合、各テーブルにオプションのrunstats-profileを設定し、runstatsを動作させるときの時間枠を(XMLを介して)定義し、ストアドプロシージャAUTOMAINT_SET_POLICYまたはAUTOMAINT_SET_POLICYFILEを使用するほうが賢明かもしれませんDb2があなたのために仕事をするようにしましょう。多くのユースケースでは、これが最適です(特に、データベースが増えており、テーブル固有のプロファイルを持つことが非常に重要になる)が、すべてではありません。
答えにマオに感謝します。 –
答えは、あなたが与えなかった情報によって決まります。どのDb2バージョン、どのオペレーティングシステムですか?あなたの質問を編集してその詳細を伝えてください。 – mao