データベースに何千ものアイテムがあり、jQueryオートコンプリートのようなオートコンプリートを使用して検索可能にしたいとしますが、各キーと同様にajaxを使用したくありませんを押すと、データベースへの要求が行われます。jqueryオートコンプリート機能を使用するサーバーへのリクエストが多すぎます
私はアヤックスせずに、このいずれかを使用することができます。
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++"
];
$("#tags").autocomplete({
source: availableTags
});
});
しかし、私が何千ものアイテムを持っている場合、これもサーバとウェブサイトのスピードに影響しますか?
は、それが最初にすべてのレコードを取得し、seprateファイルにそれらを配置し、サーバー上のウェブサイトは、より迅速かつより少ない負荷にするために、それはそこに形成検索することが賢明ですか?
あなたは、各キーの押下後にリクエストを行う必要はありません。タイピングが0.5秒程度停止した後にのみリクエストが行われるようにイベントをデバウンスする必要があります。また、データストアが適切に構成されている限り、任意のサーバーは数千のレコードを検索することができます。あなたの後者の解決策として、それはおそらく遅く実行され、要求に応じてサーバーを停止させます。 –
とAJAXコールが結果の行数を確認し、あまりにも多くのデータを返すことを防ぐために。特定の最大値を下回った場合にのみ、これらの結果で応答します。あるいは、結果をランク付けし、最も可能性の高いものだけを表示することもできます。 –
あなたは、すべてのレコードを1回または毎日ファイルに保存することによって、検索のプロセスも遅くなるでしょうか? @RoryMcCrossan –