1

リモートjson呼び出しを介してJqueryオートコンプリートボックスにデータを入力するために使用しているInnoDBテーブルに、43,000の英国の場所のリストがあります。

現在、リクエストを取得するために基本的な SELECT * FROM locations WHERE title LIKE 'lond%' クエリを実行しているだけですが、このサイトはまだ開発中ですが、結果は遅くなります。

結果の収集を開始する前に、キーを押してから最低 4 文字の間に 200 ミリ秒の遅延を設定しましたが、英国には 3 文字の場所がいくつかあり、結果を表示したいので、これを再考する必要があるかもしれません。すぐに。

明らかな改善は全文索引「タイトル」ですが、データベースの残りの部分は InnoDB であるため、前に戻ってテーブルを MyISAM に変換したくありません。したがって、Sphinx と Memcached という他の 2 つのツールを自由に使用できます。

Sphinx - 私が覚えている限りでは、Sphinx は一致する結果の ID のみを返すため、ルックアップをトリガーするすべてのユーザー キープレスで MySQL をクエリする必要があります。したがって、どれだけ改善されるかわかりませんか?

Memcached - 43,000 件すべての結果をメモリにロードしてから、ある種の配列検索 (または memcache の組み込み検索がある場合) を実行することを検討していました。しかし、これは少しばかげていると感じますか?それとも私はそれを考えすぎていますか?

最適なルートについてフィードバックをいただければ幸いです...

4

1 に答える 1