天天看點

SQLite性能優化

最近做了一個項目,在系統啟動時會更新幾千條資料,剛開始就使用最簡單的寫法,直接的insert,delete,導緻這個更新過程進行了300多秒,後來經查得知在處理大量資料的時候添加上事務管理,會大大的提高性能,随後就查閱資料如何來添加事務管理。

這iOS的sqlite和Android上面的文法真是相差很多啊,剛開始真不知道怎麼寫,索性就直接經

sqlite3_exec(_sqlite, [@"begin;" cStringUsingEncoding:NSUTF8StringEncoding], 0, 0, 0);

sqlite3_exec(_sqlite, [@"commit;" cStringUsingEncoding:NSUTF8StringEncoding], 0, 0, 0);

sqlite3_exec(_sqlite, [@"rollback;" cStringUsingEncoding:NSUTF8StringEncoding], 0, 0, 0);

這三句話添加到相應的位置,這就是sqlite的事務管理了,是不是感覺和Android的相差很大,

就這樣直接運作,性能這的提高了真的得到了大大的提高,變成了不到3秒,太爽了!