1
jQueryを使用してオートコンプリートを作成しました。これは、mysqlデータベースからjsonでエンコードされたデータを取ります。高速なjQueryオートコンプリートの作成方法
これはうまくいきますが、問題は、mysql dataabseからすべての製品を選択するのに0.0008秒かかりますが、提案を表示するには4〜5秒かかります。ここに私のコードは次のとおりです。
入力:
<form action="product_detail1.php" method="GET">
<input name="search" style="padding: 3px 0px 3px 30px;" type="text" id="skills" class="search1" placeholder="Cerca per codice">
<label style="position: absolute; z-index: 2; top: 4px; left: 3px; font-size: 18px;" for="skills" class="glyphicon glyphicon-search" rel="tooltip" title="search"></label>
</form>
オートコンプリート:
$(function() {
$("#skills").autocomplete({
source: 'search1.php'
});
});
そしてdataabseからデータを選択し、それらをエンコードしTHYE search1.phpファイル:
$db = new mysqli($dbHost,$dbUsername,$dbPassword,$dbName);
$searchTerm = $_GET['term'];
$query = $db->query("SELECT codice
FROM articoli
WHERE codice LIKE '".$searchTerm."%'
ORDER BY codice ASC");
while ($row = $query->fetch_assoc()) {
$data[] = $row['codice'];
}
echo json_encode($data);
これを高速化する方法がある場合は教えてください。私はインターネットで検索しましたが、方法を見つけませんでした。ありがとう!以下は
codiceフィールドにインデックスを作成していない場合は作成します。 –
質問が0.0008秒で実行される場合、unlikleyがプロセスの時間のかかる部分であるクエリになるようにします。 – RiggsFolly
ブラウザのデバッガで[ネットワーク]タブを調べて、それ以外に何が起こっているのか確認しましたか? – RiggsFolly