我已经实现了jQuery UI自动完成功能,并具有明显的性能问题。jQuery自动完成性能
最初,我让它发送一个新的查询每个字符输入(但最少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;
});
预先建议:有一些延迟时间 –
究竟是什么解决? –
@JasonWells用户希望在实际请求数据之前键入更多的字符,这意味着更小的结果集,更快的性能。 –