Java + JDBCにおいて、ループ中で高速にMySQLに接続したり切ったりを繰り返すとDB接続ができなくなる。ソケットがいっぱいになってどうたら言う問題らしい。
http://support.microsoft.com/kb/196271
http://d.hatena.ne.jp/nagakura_eil/20080530/p1
DBの接続切断の繰り返しは極力避けるべき。ループ中で1個ずつDAOからObjectを得るなど、もってのほか。DAOからObjectを得るときはArrayListでもらう。SQLはjoin等で余分なものをもらわないようにする。distinct使用の可否は保留。performanceが落ちるから禁止ってコーディング規約もある。DBの実装次第か。
上記組み合わせに限らず、DB使用では常に問題となるところ。
2009年1月29日木曜日
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿