我正在寫一個程序,它會對Postgres數據庫進行大量寫入。在一個典型的場景中,我會寫100,000行到標準化很好的表(三個外部整數鍵,它們的組合是表的主鍵和索引)。我正在使用PreparedStatements和executeBatch(),但我只能在我的筆記本電腦上用約70秒鐘的時間推入100k行,當我們替換的嵌入式數據庫(具有相同的外鍵約束和索引) 10.關於加速JDBC寫入的提示?
我是JDBC新手,我不希望它擊敗一個自定義的嵌入式數據庫,但我希望它只有2-3倍慢,而不是7倍。任何明顯的,我可能會錯過?寫的順序是否重要? (也就是說,如果它不是索引的順序?)。要注意多擠一點速度?
更新:我應該補充說,所有上述更新都是在一次交易中完成的,並且我試圖放棄這些指數,而沒有太大的影響(最多可以提高20%增加指數)。 – 2008-12-15 18:03:03
什麼是您要替換的嵌入式數據庫? – systemoutprintln 2008-12-15 20:36:22