簡體   English   中英

在java中使用jdbc驅動程序的慢sqlite插入

[英]slow sqlite insert using the jdbc drivers in java

我剛剛將一百萬條記錄插入到一​​個包含五列的簡單sqlite表中。 使用jdbc驅動程序在java中花了18個小時! 我在python2.5中做了同樣的事情,花了不到一分鍾。 選擇查詢的速度似乎很好。 我認為這是jdbc驅動程序的問題。

在java中有沒有更快的sqlite3驅動程序?

插入大量行的速度對於我的模式遷移腳本很重要,如果不必要,我不必使用外部腳本來執行遷移。

編輯:使用connection.setAutoCommit(false)修復; 感謝Mark Rushakoff向我暗示解決方案:)

您是否自動提交了查詢? 這可以解釋為什么花了這么長時間。 嘗試將它們包裝在開頭/結尾,這樣就不必為每個插件執行完整的提交。

此頁面介紹了開始/結束事務,而FAQ則涉及插入/自動提交。

如果要進一步優化,可以考慮將插入查詢一起批處理。 因此,您可以將1000萬個插入更改為1000個批次的1000個插入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM