[pgsql-jp: 36015] Re: EXPLAIN ANALYZE SELECT文の検索結果時間とPHPで実行した際の検索時間の違いについて

Nakamura Kazuto kazuto @ sainet.or.jp
2005年 9月 16日 (金) 17:32:49 JST


中村です。

>初めて投稿させて頂きます。cesと申します。
>PHPからSQLを発行して、
>検索結果を取得してその内容を表示するといった
>ものを作ったのですが、検索がものすごく時間がかかってしまい困っています。
>具体的に言いますと、
>約5000件のデータ(1件データに項目は20項目程)を取得するのに
>約2分かかってしまいます。

他の部分は流し読みですが、恐らく offset / limit 構文を使用していないせい
ではないでしょうか。必然的に order by 句も使う必要が出て来ます。
http://www.postgresql.jp/document/pg803doc/html/sql-select.html

>直接打込んでみた所、Total runtime: 2408.63 msecと表示されました
>これはSQLでの検索は約2秒という認識でいいのでしょうか?
>もしそうだとしたら残りの107秒はどこに費やされてるのでしょうか?

DBサーバ側かWebサーバ側(もしくは両方)のメモリリソースではないでしょうか。
telnet で入っているということは UNIX OS ですか?
ならば top コマンドなどでメモリ及び swap の消費量をみると原因が推測
出来るでしょう。

#5000行もの結果を取得する必要があるとしたら基本構造を変える必要が
#あるでしょう。Webアプリケーションである限りページング処理からは
#逃げられません。

--
中村  和人  kazuto @ sainet.or.jp



pgsql-jp メーリングリストの案内