關於jQuery異步刷新數據,加載速度問題
jQuery中有便捷的方法來執行異步操作。這段時間做了一個需要頻繁從數據庫獲取數據,且數據量比較大的頁面。
一開始刷新事件間隔為5秒鐘,當頁面加載速度趕不上刷新的速度,導致頁面反映遲緩。
優化思路:
1、檢查SQL。速度慢多半是因為SQL獲取數據的效率不高,用高於實際情況的數據量進行測試。
關於SQL優化的一些體會:嘗試使用臨時表;
儘量減少不必要的字段;
用exists替代in;
多表連接時先select出需要的字段作為子表后在進行連接;
創建索引;
將數據表不必要的歷史數據存放至備份表,主表只保留一定量的數據;
視圖不一定效率高;
測試執行時間:
declare @t datetime
set @t=getdate()
----- 執行的SQL語句 -----
select datediff(ms,@t,getdate())
2、數據的處理儘量放在後臺或者SQL中處理,JS或者jQuery的處理會增加瀏覽器的負擔。將處理好的HTML傳遞到頁面
3、減少網絡傳輸的數據量:
減少每次Select的數據量。可以在table的最底行設置“Get More Record”按鈕,點擊后增加select 的數據量,一段時間后恢復到初始狀態。
減少處理好的HTML字符串的大小,使用的樣式儘量用cssclass來替代,標籤名稱儘量簡短
4、將後臺處理業務的handle文件獨立:將不同功能的後臺處理Function劃分到獨立的Handle文件中,即使對於效率沒有貢獻,但也方便代碼管理。
5、使用Fidder工具觀察異步處理整個過程每個環節所花費的時間,可以明確問題所在。
FIdder官網:http://fiddler2.com/,支持.net2.0,.net4.0