用語集に戻る
データベース初級

setAutoCommit

setautocommit

一言で言うと

自動コミットの有無を切り替える JDBC API。

もう少し詳しく

一言で言うと

自動コミットの有無を切り替える JDBC API。

もう少し詳しく

JDBC の Connection オブジェクトが持つメソッドで、デフォルトは true(各 SQL 文を実行するたびに自動的にコミット)。false に設定するとアプリ側で commit() / rollback() を明示的に呼ぶ必要がある。

false に設定すると複数の SQL 文をひとまとまりのトランザクションとして扱える。エラー発生時に rollback() で一括取り消しができるため、データ整合性が重要な処理では必須の設定になる。

実務でどう使うか

  • バッチ処理 ── 大量レコードを一括更新する際、setAutoCommit(false) にして数千件ごとに commit() することで整合性とパフォーマンスを両立する

  • パフォーマンス改善 ── autoCommit が true のまま大量 INSERT を実行するとコミットが毎行発生して遅くなる。false にしてまとめてコミットすることで大幅に高速化できる

  • エラーハンドリング ── 振り込みなど複数テーブルをまたぐ更新で、途中エラー時に rollback() で全取り消しする

  • データ分析: 分析用のクエリを書くマーケ・PM もこの概念を知っておくと、エンジニアとの会話がスムーズです
  • 関連する章

    Ch73, Ch133 で詳しく学べます。

    関連する用語

    この用語を学べるコース

    この用語を実際に使ってみよう

    チョットデキルなら、5分のレッスンで実際にコードを書いて学べます。

    コース一覧を見る