タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

JDBCに関するaufhebenのブックマーク (2)

  • JDBC と MyBatis でバルク・インサート(multi-row vs batch)

    MyBatis でバルク・インサート(複数行一括挿入)を実装するのに multi-row insert を使った例を割と良く見かけます。 ですが、特に挿入対象の行数が多い場合は batch insert の方が良い選択肢となります。 この記事では2つの方法を比較して、なぜ batch insert を使うべきなのか説明します。 テストに使ったプロジェクトGitHub に置いてあります。 Multi-row insert multi-row insert とは? multi-row insert は INSERT 文の一種で、1つの INSERT 文で複数行のデータを一括挿入することができます。 Wikipedia によれば SQL-92 標準の一部としてほとんどのデータベース・エンジンで実装されています。 下記は SQL での multi-row insert 記述例です。 inser

    JDBC と MyBatis でバルク・インサート(multi-row vs batch)
  • S2JDBCのiterate()で OutOfMemoryError - ログ日記

    S2JDBCを使って DBのデータ数十万件をまとめてDLしようとしたらエラーになった。 getResultList()じゃなくてiterate()使ったら結果をまとめて保持しなくなるからメモリを使わなくなるんじゃないの?と思ったけどダメ。 WicketのResourceStream系がキャッシュしてるのか自分で書いたオブジェクトを書き出す処理がミスってたのか何か使い方が間違ってたのか分からずハマった。 Eclipse Memory Analyzer でダンプを見たら、どこかでデータを全件保持している模様。 2/29 ここから追記S2JDBC+PostgreSQLだとs2jdbc.diconのfetchSizeプロパティの設定+トランザクションをきちんと開始する、で解決しそう。(とりあえずローカル環境でエラーの再現 → エラー修正の確認まではできた) PostgreSQL: http://o

    S2JDBCのiterate()で OutOfMemoryError - ログ日記
  • 1