• ベストアンサー

データの処理速度を速くするには?(perl・PHP・データベース)

個人サイトで、CGIを使ってる者です。 perlを使って、データの収集・表示等行っているのですが、 データ量が増えてきたせいか、 処理に時間がかかるようになってきて、対応を考えてます。 データの取り扱いは、 カンマ区切りの形式で読み書きを行っており、 情報量は3MB(データ数としては5万行)…。 これらのデータを、毎回全件読み込んで条件で抽出してるのですが、 他にもっと効率的な方法があるのではないかと模索中です。 あれこれ模索したところ、よくわからないところがあり、 知ってる方がいらっしゃいましたら、アドバイスの方よろしくお願い致します。 (職場でSQLやACCESSは使っております) ?1…perlよりPHPの方が、こういった処理に向いてる? ?2…データベースを使えば抽出が速くなる? ?3…データベースを使うには何かソフトを買う必要がある? ?4…そもそもperlやPHPでデータベースが使える?

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

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.2

?1…perlよりPHPの方が、こういった処理に向いてる? たいていの言語で何かしらテキストファイルを読み書きすることは出来ますが、3MともなればPHPだろうともCだろうとも苦痛になってくる というよりも、それらのアプリを動かしているサーバーのメモリやCPUの処理を食うことですので、データベース代わりとしてテキストを使うには限界があります ですから、PHPはテキストファイルを扱うためのプログラムが楽に書けるというだけで、大容量のテキストファイルを扱うのに適しているわけではありません ?2…データベースを使えば抽出が速くなる? 劇的に速くなります 5万レコード(行)程度であれば楽々扱えますよ(DBのテーブル設計をどうするかでも左右されますけどね) ?3…データベースを使うには何かソフトを買う必要がある? 有償のデータベースを使いたいのであればデータベースそのものを買う必要があります オープン系のデータベース(MySQLやPostgresなど)を使うのであれば基本的にはお金はかかりません ただし、レンタルスペースなどで「データベース利用は別途料金」などのようにそのレンタルスペースのサービスとしての料金を取られる可能性はあります ?4…そもそもperlやPHPでデータベースが使える? 使えます 有名どころのデータベースであれば、有償無償のデータベース限らず使えます PHPのほうが標準でデータベースとの接続関係を持っているので導入は楽かと思います

zzz13
質問者

お礼

ご回答どうもありがとうございます。 やはりテキストファイルでは限界がありますか… なるほど。 一気には増えないのですが、今後もじわじわと容量は増えていくので、 データベース化の方向で考えてみます。 データベースについてはあまり詳しくないので、 データベースに向いてるPHPに乗り換えてみようと思います。

その他の回答 (1)

  • gurujowa
  • ベストアンサー率60% (3/5)
回答No.1

データを検索・抽出するのならデータベースの使用をお勧めします。 特にPHPなら、標準でデータベースを操作する関数が実装されています。 PerlでもCPAN等を使えばデータベースは使えるようになると思います。 データベースは、オープンソースで既に何種類か出ているので、 費用をかけることなく使うことができます。 有名なのはMySQLですが、商用と同じような機能を持っています。 PerlとPHPでどちらかの処理が向いているかは分かりませんが、 同じくらいだと思います。 とりあえずデータベースの使用をお勧めいたします。

zzz13
質問者

お礼

アドバイスどうもありがとうございます。 データベースがやはりオススメで、 データベースを扱うならば、PHPの方が向いてるんですね。 MySQLはよく知らないのですが、 まずはこれを使ってデータベースになれてみようと思います。

関連するQ&A