[問題] Sqlite設定autocommit=false依然很慢

作者: comodore (Commodore)   2017-06-09 23:14:33
請問大家,
資料庫如果需要寫入幾十萬筆的新增與刪除,
已經將auto commit設定為false了,
也使用preparedstatement搭配addbatch了
但還是非常慢, 需要大概跑個幾十分鐘,
看檔案總管, 在執行時會有一個journal檔,
會是因為那個檔的buffer太小的關係嗎?
還是I/O硬碟讀小速度太慢呢?
謝謝
作者: zop (ㄞ肝ㄞ肝~一元二十罐~)   2017-06-10 11:05:00
sqlite適合跑幾十萬筆嗎?
作者: pttnews (PTT新聞)   2017-06-12 14:14:00
1F正解
作者: comodore (Commodore)   2017-06-12 16:31:00
所以是選錯DB的問題嗎? 謝謝
作者: adrianshum (Alien)   2017-06-14 12:20:00
不auto commit 不代表不commit. 每完成一部份還是commit 一下吧,不然rollback segment (不曉得SQLite 相當的東西叫什麼)太大肯定慢。另外你batch size 多大?add 一個然後立刻就executebatch 肯定沒幫助
作者: comodore (Commodore)   2017-06-21 18:18:00
全部add完之後, 才一次加執行整個batch的

Links booklink

Contact Us: admin [ a t ] ucptt.com