Planner Statistics/ja

From PostgreSQL wiki
Jump to navigationJump to search

問い合わせを高速に実行させるためには、PostgreSQL問い合わせプランナはデータベース内のテーブルに関する統計情報を正確に保持する必要があります。 詳細についてはStatistics Used by the PlannerおよびUsing EXPLAINを参照してください。

データベース全体、あるいは、対象としたいテーブルに対してVACUUM ANALYZEを実行することで統計情報は更新されます。 PostgreSQL 8.1から自動バキュームデーモンを使用することにより、この作業を自動化できるようになりました。 有用に設定するためにはいくつか設定項目を取りますが、PostgreSQL 8.3の自動バキュームは機能が上がり、デフォルトのまま有効にしておくだけで十分調整されています。

統計情報の収集を制御するもっともよくつかわれる調整項目はdefault_statistics_targetです。 これはALTER TABLE SET STATISTICSを使用してテーブル毎および列毎に設定可能です。 有用な範囲は通常10(デフォルト)から100です。 設定を大きくすることにより、統計情報収集プロセス自身が性能に影響を与えます。 これ以上の情報については、長めのスレッドですが、Better default_statistics_target から Part 2を参照してください。