1. 程式人生 > >資料庫journal_mode模式快慢真相

資料庫journal_mode模式快慢真相

現在很多人都認為journal_mode裡wal是最快的,但如果真的做過測試,就發現,沒有這回事,下面是自己測的各模式的多次寫大量耗時:

WAL 7500

TRUNCATE 5000

MEMORY 600

OFF 500

PERSIST 4000

DELETE 8000

sqlite原生是DELETE,WAL是可以比原生SQLITE的設定快一點點,但谷歌已經在這一塊做過優化了,改用上了最快的PERSIST模式,但它優化的還沒有徹底,華為mate手機,對資料庫再進一步進行了優化,剛好,我分析過華為的資料庫,發現他們依然是PERSIST模式,速度再快了40%,長時間使用的手機,優化效果會很明顯,原理及華為的優化方案好難解釋,有心情再補上。

你們可能要說WAL安全,沒這回事,只有OFF MEMORY是不安全的,其餘都是安全的。

其實這些都是很次要的,是一個迷信,真正要快的話,就把資料庫操作批量放到一個事務操作裡面。