zoukankan      html  css  js  c++  java
  • 關於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

  • 相关阅读:
    three20 解决tttaleviewcontroller 切换输入法的bug
    jQuery实现图片延迟加载
    jQuery实现自动底部加载 类似于新浪微博
    Mac OS x lion 安装 wget
    CodeIgniter的缓存小记
    CodeIgniter "Disallowed Key Characters"
    帮朋友转发招聘.NET软件工程师
    three20 为什么self.navigationController.view 是nil
    three20 TTTableViewController + TTActionSheetController
    解决 RaisedCenterTabBar 在 HidesBottomBarWhenPushed bug
  • 原文地址:https://www.cnblogs.com/wftrustself/p/3529834.html
Copyright © 2011-2022 走看看