DB/トランザクションについて勉強してみる

ISUCON8のPythonプログラムで、 db.autocommit(false)なる行が何をしているのか調べる。 コミット?トランザクション?よくわからない言葉がでてくる。 トランザクションについてはzd6ir7さんのQiita記事がわかりやすかった。

トランザクション

「複数の処理をまとめた、一つの大きな処理」がトランザクションである。

トランザクション」が成功 → 「コミット」することでデータベース更新 「トランザクション」が失敗 → 「ロールバック」することでデータベースをトランザクション前の状態に戻す。

 

MySQLトランザクション

 

SET autocommit = 1

で各SQL文が実行されるごとにデータベースを永続化(更新)する。 デフォルトではこの設定になっている。