2013-01-21 116 views
0

我想爲我的基於java的軟件的用戶提供使用sqlite替代默認MySQL的選項,因爲有些用戶不知道MySQL是什麼,或者如何安裝,或者不想。jdbc sqlite性能 - 查詢異常緩慢

我已經得到了一切正常與sqlite,但查詢時間非常緩慢。從Java內部使用jdbc進行SELECT查詢所用的時間至少要比使用MySQL時長三倍。

但是,直接在sqlite控制檯中運行的相同查詢在毫秒內工作。這是導致經濟放緩的jdbc連接。

關於我能做些什麼來提高速度的建議?我聽說用Xerial版本替換驅動程序,但不確定如何做到這一點。我會這樣做測試,但這顯然是我懷疑我們可以要求我們的用戶做的事情 - 如果他們反對安裝mysql,他們不會想要切換驅動程序的sqlite ...

回答

0

您的驅動程序應該通常與您的程序分發一起安裝。 (就像你用你的應用程序打包sqlite一樣)這樣驅動程序對你的用戶是透明的(他/她不知道幕後發生了什麼),你可以使用其他驅動程序。

這似乎有點奇怪,與某個rdbms捆綁在一起的驅動程序會特別慢btw。您可以嘗試通過sqlite日誌來查看幕後發生的情況。 (我甚至會推薦它)

+0

困難的部分是,我的軟件是一個更大的軟件的插件和sqlite是不是我必須打包/提供自己的任何東西。我不太確定在這個系統中使用不同的驅動程序會涉及到什麼。但是,你能引導我到日誌可能在哪裏(我在Mac上)? – helion3