qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Android批量插入數據性能優化

           做數據同步時遇到一個問題,在下載數據時需要批量的向sqlite插入數據,雖然數據不算多,但是實際測試中每插入一條數據需要將近50ms的時間,這意味著1000條數據就需要花費50s左右的時間,對于用戶來說,體驗太差了,必須要優化。
            在sqlite插入數據的時候默認一條語句就是一個事務,有多少條數據就有多少次磁盤操作。明白了這個,解決方案就有了,在批量插入數據的時候,只開啟一個事務,這樣只會進行一次磁盤操作,代碼如下:
          db.beginTransaction();
          try {
          for (...) {
          db.execSQL("...", new Object[]{});
          }
          db.setTransactionSuccessful();
          } catch (Exception e) {
          } finally {
          db.endTransaction();
          }
            使用事務后性能有明顯的提升,以批量操作100條為例,由原來的5s優化成了現在的1s

          posted on 2014-03-21 12:57 順其自然EVO 閱讀(321) 評論(0)  編輯  收藏 所屬分類: android

          <2014年3月>
          2324252627281
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 德兴市| 鸡东县| 新昌县| 道真| 贵定县| 天长市| 台北县| 枝江市| 壶关县| 昭平县| 贵州省| 河西区| 高淳县| 西峡县| 蓬莱市| 长垣县| 博兴县| 辉县市| 嫩江县| 西青区| 富民县| 大竹县| 宜春市| 南平市| 汉中市| 巨野县| 瓦房店市| 昂仁县| 汉寿县| 乐东| 大丰市| 南岸区| 北川| 浦东新区| 晴隆县| 洛浦县| 屏东市| 车致| 彰武县| 九江县| 团风县|