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

看板java作者 (Commodore)時間8年前 (2017/06/09 23:14), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/1
請問大家, 資料庫如果需要寫入幾十萬筆的新增與刪除, 已經將auto commit設定為false了, 也使用preparedstatement搭配addbatch了 但還是非常慢, 需要大概跑個幾十分鐘, 看檔案總管, 在執行時會有一個journal檔, 會是因為那個檔的buffer太小的關係嗎? 還是I/O硬碟讀小速度太慢呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.64.239 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1497021276.A.949.html

06/10 11:05, , 1F
sqlite適合跑幾十萬筆嗎?
06/10 11:05, 1F

06/12 14:14, , 2F
1F正解
06/12 14:14, 2F

06/12 16:31, , 3F
所以是選錯DB的問題嗎? 謝謝
06/12 16:31, 3F

06/14 12:20, , 4F
不auto commit 不代表不commit. 每完成一部份還是comm
06/14 12:20, 4F

06/14 12:20, , 5F
it 一下吧,不然rollback segment (不曉得SQLite 相
06/14 12:20, 5F

06/14 12:20, , 6F
當的東西叫什麼)太大肯定慢。另外你batch size 多大
06/14 12:20, 6F

06/14 12:20, , 7F
?add 一個然後立刻就executebatch 肯定沒幫助
06/14 12:20, 7F

06/21 18:18, , 8F
全部add完之後, 才一次加執行整個batch的
06/21 18:18, 8F
文章代碼(AID): #1PEhjSb9 (java)
文章代碼(AID): #1PEhjSb9 (java)