Android資料庫更新——上萬條資料的插入

來源:互聯網
上載者:User

標籤:

在實際情況下,很可能遇到會向一個表中插入10萬條資料,而這樣的資料庫更新,如果用尋常的方式,在SQLiteOpenHelper.onUpdate()方法中不斷的執行SQL語句,那麼效率是可想而知的,甚至可能造成整個應用的崩潰!

解決方案:

遇到這種情況,其解決方案應為,用做好的db檔案替換之前的資料庫檔案。當然,有人可能有疑問,這樣的話,怎麼寫入到data/data目錄下。這個的確是個問題,可是,我們可以將該資料庫存放在SD卡目錄下。當然,資料庫存放在SD卡目錄中,的確是對安全性的妥協。

實現步驟:

  1. 製作db檔案,工具可以是navicat for SQLite等;
  2. 將該檔案存放在res/raw目錄下
  3. 在SQLiteOpenHelper.onUpdate()方法中,刪除之前的資料庫檔案
  4. 在代碼中調用到SQLiteOpenHelper.getReadableDatabase()等方法時,如果該資料庫不存在,就會調用SQLiteOpenHelper.onCreate()方法建立資料庫。
  5. 在SQLiteOpenHelper.onCreate()方法中,我們與一般的使用SQL語句建表不一樣,這裡直接將raw檔案夾下的資料庫檔案複製到對應的路徑下即可。

總結:

以上的解決方案可以提升更新資料庫效能。

Android資料庫更新——上萬條資料的插入

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.