私は最も単純に分解すると思っていた問題を抱えています。LAMP スタックには 2 つのアプリケーションがあり、1 つは PHP で、もう 1 つは Java で、単純なクエリを実行するだけでまったく同じことを行います。
SELECT * FROM test
PHP の実行には合計30 ミリ秒かかります
Java の実行には合計230 ミリ秒かかります
ローカルの MySQL クライアントでクエリを実行すると、合計で10 ~ 15 ミリ秒かかります
Java は、データベースへの接続を確立するためだけに、毎回約200 ミリ秒かかります。PHP はある種の組み込みの接続プールを使用することを理解しています。そのため、毎回新しい接続を確立する必要はなく、その結果として30 ミリ秒しかかかりません。
Javaでも同じことが可能ですか?これまでのところ、私はそれを達成できませんでした。Apache Commons DBCP 接続プールを使用しようとしましたが、まったく変更はありませんが、データベースへの接続には同じ時間がかかります。
更新:これは、コード例を求めている人のために、Javaで接続プールを機能させようとしている別の質問です: Java MySQL接続プールが機能していません