我有一個非常短的Java應用程序,它只是打開與遠程MySQL數據庫的連接,讀取一些數據,打印它並退出。數據庫連接是應用程序中最耗時的部分。如何在打開JDBC MYSQL連接時節省時間
目前我只有一個線程,我唯一的擔心是保存打開連接的時間。
我想到的幾種方法,使其更快,但事實證明他們不幫助:
- 連接池 - 沒有幫助,因爲池中的應用程序的一個運行期間只生活而已。當應用程序終止時,池已經消失,當我重新運行應用程序時,我必須重新打開池中的所有連接。
- MySQL的代理 - 只連接到本地服務器:mysql-proxy for a remote MySQL server
- TCP/IP服務器 - 我以爲持有,將保持一個持續開放的連接,並將其發送到TCP/IP客戶端上的本地TCP/IP服務器請求。但是,Connection對象不能被序列化,所以我無法將Connection對象從客戶端傳遞到服務器。
還有其他的選擇嗎?
我們在這裏談論什麼?幾十毫秒?秒?是否有可能保持你的程序的「服務器」部分是活着的,它有一個持久連接,準備好你的「短」Java程序與之通信的語句等? –
我們在談論多少時間?連接需要一段時間,但我們說幾秒或幾毫秒? –
到遠程DB的連接大約需要10秒鐘。計算本身不到1秒。 –