実行計画
① | 初期処理の推定コスト |
② | 全体推定コスト |
③ | 問い合わせ結果の推定行数 |
④ | 行の推定平均サイズ(バイト単位) |
① | 初期処理の実測時間(ミリ秒) |
② | 全体の実測時間(ミリ秒) |
③ | 結果の行数 |
④ | 処理実行回数 |
この値が1よりも大きい場合、①、②、③の値は1実行あたりの平均となる。
①、②については推定コストとは単位が異なる為、単純な値の比較はできませんので注意してください。
なお、INSERT、UPDATE、DELETEのようなデータの変更を伴う問い合わせの実行計画を得たい場合には以下のように実行します。
BEGIN;
EXPLAIN ANALYZE ...;
ROLLBACK;
このように実行計画の問い合わせの前にBEGIN、後にROLLBACKを実行することで、実際にデータを更新せずに実行計画を取得することができます。
実行計画についての更に詳細な情報はオンラインマニュアルに記載されています。
http://www.postgresql.jp/document/9.1/html/using-explain.html
バキューム処理、統計情報の収集
スロークエリの探し方
query | 実行したSQL文の文字列 |
calls | 実行回数 |
total_time | 処理時間(単位は秒) |
実行回数の累積値になので、実行回数で除算すれば1回あたりの平均処理時間を求められる。
上記以外の項目についてはオンラインマニュアルを参照してください。
http://www.postgresql.jp/document/9.1/html/pgstatstatements.html
●サーバーログを使う
postgresql.confを開いてlog_min_duration_statementの設定値を編集します。デフォルトではコメントアウトされているのでアンコメントします。値は初期値で-1(無効)となっていますので値も変更します。0にすると全てのSQLをログに出力します。設定を変更し保存した後、PostgreSQLをリロードします。(再起動の必要はありません。)
最後に
執筆:
市脇 康二 氏(OSS-DB Gold認定者)株式会社オークニージオソリューション事業部 マネージャー
PostGISを含めたFOSS4G(Free Open Source Software for Geospatial)ソフトウェアを活用し、地図やGPS等の位置情報を組み合わせたアプリケーションやサービスの設計・開発に従事。
サービスプラットフォームがクラウドへ、利用シーンがモバイルへと広がりを見せる中、位置情報の更なる活用シーンを模索中。
アドバイザー:
森 亮 氏 株式会社オークニー代表取締役
2002年にオークニーを設立し、代表取締役に就任。マッピング・ GIS・LBS・ITS関連プロジェクトのビジネスコンサルティングを経て、現在は会社経営の傍ら、『入門Webマッピング』(Tyler Mitchell原著;オライリー・ジャパン発行)の翻訳、Open Source Geospatial財団日本支部の代表者を務めるなど、FOSS4G(オープンソース地理空間ソフトウェア)の普及活動に取り組んでいる。
監修:
松田 神一
© EDUCO All Rights Reserved.