タグ

dbとJDBCに関するasa_ca3のブックマーク (5)

  • 100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋

    要約 技術的な話だけ教えて、という方のために先に結論だけ書いておきますと、PostgreSQLはクエリを実行した時点で全レコードの情報を一気に読んできてヒープを埋めてしまう場合がある、ということ話です。 たとえば、ResultSet#nextメソッドを使いながら処理を回すようなコードを書いて、少ないヒープでも処理できるようにするのは常套手段だと思いますが、そういうコードを書いていても一気にヒープを消費してしまうことがあるのです。詳しくはこのドキュメントを見てください。 https://jdbc.postgresql.org/documentation/head/query.html#query-with-cursor ことの発端 ちょっと仕事Java + jOOQ + PostgreSQLで、DBのデータを集計するようなバッチ処理を書いてまして、もちろん俺様の書いたコードにバグなんてある

    100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋
  • Iciql

    iciql is… a model-based, database access wrapper for JDBC for modest database schemas and basic statement generation for those who want to write code, instead of SQL, using IDE completion and compile-time type-safety small (<250KB) with debug symbols and no runtime dependencies pronounced icicle (although it could be French: ici ql - here query language) a friendly fork of the H2 JaQu subproject i

  • Commons DBCP

    Commons DBCP は、データベースのコネクション・プーリングを扱うライブラリです。 Tomcat で標準採用されています。 動作説明 動作を簡単に説明します。 クライアントから接続要求が発生した場合 … getConnection() 1. DBCPは、プール内に空き接続があるか確認 2. あればそれを返す。この時その接続は アクティブ となる 3. プール内に空き接続が無ければ、新たに接続を作って返す クライアントから切断要求が発生した場合 … conn.close() 1. 切断要求のあった接続をプール内に保管する。この時その接続は アイドル となる 2. もしプール内に maxIdle 以上の接続が溜まったら、それ以上にならないように接続を削除する 接続監視スレッド DBCPには接続監視スレッドというものが存在します。 これは一定時間毎にプール内のアイドル接続をチェックするも

  • Groovyでデータベース操作(GroovySQL) - No Programming, No Life

    GinAのデータベースの章*1に書かれていることをまとめておこうと思う。 ここに書かれている内容はSQLをある程度理解している方を対象としています。また、JavaDB操作を行ったことがあると理解が早まります。 DBに接続 まずは、JDBCドライバを使ってDBに接続する。ひとまず簡単な方法はファクトリメソッドを使う方法。groovy.sql.Sql#newInstance() を利用する。戻り値はgroovy.sql.Sqlインスタンス。 def db = Sql.newInstance( 'jdbc:〜〜', // DB接続文字列 'ユーザ名', // ユーザ名 'パスワード', // パスワード 'jdbcドライバクラス' // JDBCドライバ ) データの挿入・更新・削除 データの挿入・更新・削除を実行する方法としては、groovy.sql.Sql#execute(statment

    Groovyでデータベース操作(GroovySQL) - No Programming, No Life
  • Commons DBCPを超えるTomcat JDBC Poolとは

    Commons DBCPを超えるTomcat JDBC Poolとは:Tomcat 7の新機能で何ができるようになるのか?(番外編)(1/2 ページ) TomcatのDBコネクション・プールは2つある @IT読者の皆さんは「Tomcat JDBC Connection Pool」をご存じですか? 通常、TomcatのDBコネクション・プールといえばApache Commonsプロジェクトの「Commons DBCP」を想像するかと思います。しかし、Tomcatには「Commons DBCP」以外にもDBコネクション・プールの実装が存在します。それが、「Tomcat JDBC Connection Pool」(以下、Tomcat JDBC Pool)です。 Tomcat JDBC Poolとは、Apache Tomcatプロジェクトが独自に作成したDBコネクション・プールの実装のことです。

    Commons DBCPを超えるTomcat JDBC Poolとは
  • 1