[問題] java sqlite getConnection速度很慢

看板java作者 (JGC)時間10年前 (2015/06/29 12:07), 編輯推噓2(207)
留言9則, 5人參與, 最新討論串1/1
請教各位 請問有人使用過jdbc去連接sqlite嗎 因為我發現每次程式一起來, 我去getConnection()這一步 都會很慢, 執行時間最長有到7sec, 不知道有沒有前輩欲過類似問題呢? public Connection getConnection() throws SQLException { Connection con = null; SQLiteConfig config = new SQLiteConfig(); // config.setReadOnly(true); config.setSharedCache(true); config.enableRecursiveTriggers(true); SQLiteDataSource ds = new SQLiteDataSource(config); ds.setUrl("jdbc:sqlite:config/sample.db"); logger.debug("before getConnection"); con = ds.getConnection();// <----就是這一步,會執行很久@@ logger.debug("after getConnection"); return con; //ds.setServerName("sample.db"); } 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.81.103.94 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1435550839.A.00C.html

06/29 15:49, , 1F
因為你一直在建立新的連線?
06/29 15:49, 1F

06/29 16:30, , 2F
對,因為是包一個執行檔給使用者使用, 所以每一次都是建立
06/29 16:30, 2F

06/29 16:31, , 3F
新的連線
06/29 16:31, 3F

06/30 07:36, , 4F
直接用jdbc呼叫吧,不會慢到有感覺
06/30 07:36, 4F

06/30 07:38, , 5F
不確定你用的ds裡面怎麼實作的,不過一般不會一直new
06/30 07:38, 5F

06/30 12:22, , 6F
好pool不用嗎?
06/30 12:22, 6F

06/30 14:22, , 7F
但要跑才執行的話就不管怎樣都會慢,不然就是啟動時背後
06/30 14:22, 7F

06/30 14:23, , 8F
先趕快getConntection,畫面或是什麼的先呈現,來避免慢
06/30 14:23, 8F

06/30 14:23, , 9F
另外他有source..不然也可以看看到底慢在get裡面哪裡
06/30 14:23, 9F
文章代碼(AID): #1LaCHt0C (java)
文章代碼(AID): #1LaCHt0C (java)