• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP、MySQLで動作する検索プログラム)

PHP、MySQLで動作する検索プログラム

このQ&Aのポイント
  • プログラミング初級者のため、PHPとMySQLを使用して検索プログラムを作成しています。しかし、商品データが増えると処理が重くなり、タイムアウトが発生してしまいます。高速な処理を行うためのフリーの検索プログラムや参考書を探しています。
  • 検索サイトを作成している初心者ですが、商品データが増えると処理が重くなり、タイムアウトが発生してしまいます。PHPとMySQLを使用しており、SQLのLIKE文でワードを検索していますが、処理能力に限界があるようです。高速な検索プログラムや参考書を教えていただきたいです。
  • 初心者が作成している検索サイトの処理が重くなり、タイムアウトが発生してしまいます。現在はPHPとMySQLを使用しており、SQLのLIKE文でワードを検索していますが、商品データが増えるにつれて処理能力の限界に達しています。高速な検索プログラムや参考書があれば教えてください。

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

  • ベストアンサー
  • WDY
  • ベストアンサー率27% (134/489)
回答No.2

検索を早くする方法はいくつかありますが環境がわからない為 1.Indexを張る。 2.検索結果を別ファイルで持つ。 3.テーブル構成を変える。 4.DBサーバのスペックを変える 5.作り方にもよりますがプログラム側で取得したデータのJoin等を行う。 等々があります。 時間があるようでしたら 夢幻 http://www.yumemaboroshi.net/ で似たようなサイトをダウンロードしてどういう作り方をしているか見てみてはどうでしょう?

buttero
質問者

お礼

ご回答ありがとうございます。 インデックスという考え方を知りませんでした。まずはそのあたりを勉強することで前進しそうです。またそもそもテーブル構成もパフォーマンスをまったく意識していなかったので、改善の余地がありそうです。勉強すべきポイントが見えてきました。ありがとうございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>単純にSQL文、LIKEでタイトルか説明文にワードが含まれているもの インデックスは設定していますか? LIKEは前方一致もしくは後方一致である程度のスピードが期待できます。 前方・後方一致では必ずしも有効な処理が期待できませんのでご注意ください >説明文は長いもので1000文字くらいのデータ とありますが、この長さになるとヒットさせるのであれば 全文検索で処理する必要がありそうです。 ただ英語と違って単語の一つ一つが独立していない日本語での全文検索は それなりに下処理が必要なので、いろいろ学習していただく必要があります。 場合によっては単なる説明分ではなくキーワードを任意に羅列した方が よいかもしれません

buttero
質問者

お礼

ご回答ありがとうございます。 インデックスは設定しておらず、またそういう設定ができること自体お恥ずかしながら知りませんでした。まずはここからじっくり勉強してみます。 キーワードの羅列、のところですが、長い文章を簡単な処理で単語単位に区切ってくれるような便利なものって何かあるでしょうか?トークナイザーというのを勉強すると良いのかな?と思ってますが、違いますでしょうか?もし何かご存じでしたらご教授いただけると嬉しいです。

関連するQ&A

専門家に質問してみよう