我正在使用JQuery插件(http://docs.jquery.com/Plugins/Autocomplete)向「城市」文本字段添加自動完成功能。該組件調用一個簡單地加載所有可能城市值(> 8000)的數組的ASP.NET頁面,然後迭代該數組返回那些以用戶迄今輸入的文本開頭的數組。將數據返回到客戶端自動完成查詢
事情是,它在實際使用中很慢。它滯後於用戶輸入的內容,大部分時間用戶可能不會注意到它在那裏。
所以,我的問題是,我該如何加快速度?
我曾經想過,將數據放入數據庫並且必須多次擊中數組纔是更好的選擇。其他人是否同意這種信息是硬編碼的,因爲它並不是一成不變的,需要全部關注回報速度?
如果是這樣,你會看什麼來提高性能的速度?我應該在應用程序啓動時緩存數據並從內存中訪問它嗎?我會更好,而不是使用多個數組,每個數組都包含以特定字母開頭的值,所以我可以直接轉到相關的數組,從而迭代一個更小的數組?或者我錯過了一個更明顯的方法來解決這個問題?
在此先感謝。
數據來自哪裏?某種SQL服務器,另一個來源? – 2010-01-28 15:16:30
你可以發佈你的代碼嗎?過濾8,000個字符串應該會立即回來,特別是如果它們位於內存列表或數組中。 – 2010-01-28 16:55:01