• ベストアンサー

大量のデータからの検索

データ量が膨大にある場合。 例:20万件以上のレコード 検索するフィールドにインデックスをきかせても Web側で表示するときに時間がかかりすぎてタイムアウトになってしまいます。。 何かいい方法はありませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.2

PostgresSQLはタイムアウトをとらない?みたいなので、PHPでタイムアウトをとっているのか、ブラウザに表示のほうで時間がかかっているのでしょう。 set_time_limit(300); スクリプトが実行可能な秒数を設定します を追加してみてはどうでしょうか。 もしくはPHP.INIの内容を変更しても良いでしょう。 300秒は仮の値です、適当に合わせてください 0にすると時間制限なしです。

参考URL:
http://php.s3.to/man/function.set-time-limit.html
aiurai54
質問者

お礼

ありがとうございます♪うまくいきました。

その他の回答 (1)

  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.1

ブラウザに表示するシステムでしょうか? おそらく、 データベースの取得自体にはさほど時間はかかっていなくて、ブラウザに表示するときに時間がかかっているのではないでしょうか。 その辺りの補足お願いします。 Webで表示とはどいうことか? 開発言語はなにか? 何に時間かかっているか?

aiurai54
質問者

補足

開発言語はPHPです。 データベースからあるイベントのものだけを取得して、 その取得したものをファイルに書き込んでいきます。 ファイルに書き込んだものを集計して、 その結果を表示しています。 集計はpregで集計し、文字列とかではなく正規表現で ある数字があらわれたときにカウントするような処理です。 取得数がすくない場合はうまくいくのですが、、、

関連するQ&A