2017-11-10 3 views
0

自分のサイトに〜2000個のアイテムを検索する必要のある検索機能があります(このテーブルは決して変更されません。同じ数のアイテムがMySQLに格納されます)。必要なのは、名前で検索するか名前を「好き」してIDを返すだけです。私はこれには2つのアプローチを考えています検索ごとにクライアントまたはクエリサーバーにすべてのデータを送信する方が良いですか?

  1. からkeyupにAJAXを使用してクエリデータベース()、それは多くの人々が
  2. を検索すると高価になるように、これはと思われるときにJSONファイルとしてクライアントにすべてのデータを送信しますページを読み込んでJavaScriptを使用して検索し、データベースの負荷を軽減してください。

どのアプローチが優れていますか?または、あなたがより良いアプローチをしているならば、私は提案に開放されています。

+0

それが唯一の2000アイテムだ場合、クライアントにそれをオフロードすることはあなたの将来の拡張性の頭痛の種を保存することがあります。また、HTTP要求待ち時間がないため、検索の遅延時間も短縮されます。 –

+0

「項目」は1語ですか?または大きな文書ですか? –

+0

あなたの 'LIKE'に先行するワイルドカードがありますか? –

答えて

0

は何あなたの目的に依存します。ユーザーが検索語を書いている間、またはユーザーが検索ボタンなどをクリックしたときに結果を返すときに、フライ機能で検索を提供したいですか?いずれにせよ、あなたはあまり実際にはそうではない2000レコードについて話しています。だから私はあなたがオフラインのメモリキャッシュにすべての情報を格納することができ、メモリから結果を返すことができると思います。 SQLはクエリに対しても非常に最適化されており、結果もキャッシュされるので、2000レコードでもDBにクエリを実行する際に問題はありません。

関連する問題