我已经实现了 jQuery UI 自动完成功能并且遇到了明显的性能问题。
最初,我让它对输入的每个字符发送一个新查询(但必须输入至少 3 个)。
我的数据库已编入索引,有 50k 行数据(5 列)。我在数据库级别没有性能问题。
我决定尝试的一种技术是缓存 JSON 并将自动完成指向它而不是数据库。这很完美......最多2000行左右。除此之外,它变得缓慢而不稳定。
如果有人对技术有建议,我将不胜感激。
这里有一些代码可以让您了解 Javascript。
// First, setup some data to iterate over.
// My thought is to query the DB once, and build this list in memory to avoid autocomplete hitting the database each keystroke.
var data = [];
data.push({value: "Person 1", label: "Person 1"});
data.push({value: "Person 2", label: "Person 2"});
$("#searchBox").autocomplete({
source: data;
minChars: 3;
delay: 0;
});