jQuery UI 자동 완성 기능을 구현했으며 현저한 성능 문제가 있습니다.jQuery 자동 완성 성능
처음에는 입력 한 각 문자에 대해 새 쿼리를 보냈지 만 최소 3 개를 입력해야합니다.
데이터베이스가 인덱싱되고 50KB의 데이터 행 (5 개 열)이 있습니다. DB 수준에서는 성능 문제가 없습니다.
내가 시도하기로 결정한 기술 중 하나는 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;
});
Upfront suggestions : 약간의 지연 시간이 있음 –
정확히 무엇이 해결 되나요? –
@JasonWells 사용자는 실제로 데이터를 요청하기 전에 더 많은 문자를 입력 했으므로 더 작은 결과 집합, 더 빠른 성능을 의미합니다. –