MySQL JDBC ドライバ(MySQL Connector/J)、Java で MySQL といえばまずコレだが、これまた地味に罠が多い(そして多くの人が踏んで苦しむ)のでまとめてみた。 (2015/03/19) こちら のコメント欄でご指摘ただいた wait_timeout の件について記事修正いたしました。 Summary 以下、いずれもプログラム設計時に理解しておかないと、開発中は大丈夫そうでも実用した途端に苦しまされれてしかも設計から治す羽目になる要注意な罠である: SELECT 結果は全部メモリに載ってしまう (デフォルト設定で) 大量 SELECT する場合は FetchSize, ResultSetType を要設定 利用時には制約があるので、設計段階から考慮しなければならない (後述) idle 時間の「合計で」コネクションが切られる 前回のクエリ処理から一定時間以上経