前幾天遇到乙個問題,就是關於sqlite插入資料速度慢的問題。看了下sqlite的官方文件,預設情況下sqlite會為每乙個插入語句生成乙個transaction,在轉速為7200的的磁碟驅動器上,每秒鐘最多能完成60個左右的transaction。也就是說預設情況下每秒只能插入60條左右的資料,這是非常慢的。
解決的辦法就是將多條插入語句放在乙個transaction內,然後一併提交。
如果應用的要求比較苛刻,比如要求插入一條資料後馬上就要以查詢到,上面的方法可能就不是很適用。因為所有插入都放在乙個transaction內,必須得等這個transaction結束,插入的資料才能被查詢到。
解決的辦法是可以建立sqlite的記憶體資料庫public static sqlitedatabase create(sqlitedatabase.curso***ctory factory),以提高速度。然後在後台起執行緒把記憶體資料庫中的資料存入真實的檔案資料庫中。
Android 中 SQLite 效能優化
sqlite效能的優化,在此記錄。乙個比較全面的sqlite資料庫講解 具體用法看上面的部落格。優點 加快了查操作 缺點 降低了增刪改操作的速度,增加了空間消耗,建立索引過程耗時。基於以上特點,具體情況判斷是否建立索引。sqlite想要執行操作,需要將程式中的sql語句編譯成對應的sqlitesta...
Android中SQLite操作示例
android中sqlite操作示例 在android中對sqlite資料庫的操作,涉及以下幾個方面 1 確認資料庫檔案,即.db檔案 2 通過android.database.sqlite.sqlitedatabase類的openorcreatedatabase 方法開啟資料庫 3 資料庫操作 a...
Android中SQLite版本公升級
size large android中sqlite版本公升級 網上有很多文章,但是感覺寫的都不是很明白 前提 定義dbopenhelper類繼承sqliteopenhelper 重寫oncreate和onupgrade方法 ondowngrade是降級的方法,應該不會用到 定義兩個屬性 資料庫名稱,...