DB/トランザクションについて勉強してみる
ISUCON8のPythonプログラムで、 db.autocommit(false)なる行が何をしているのか調べる。 コミット?トランザクション?よくわからない言葉がでてくる。 トランザクションについてはzd6ir7さんのQiita記事がわかりやすかった。
トランザクション
「複数の処理をまとめた、一つの大きな処理」がトランザクションである。
「トランザクション」が成功 → 「コミット」することでデータベース更新 「トランザクション」が失敗 → 「ロールバック」することでデータベースをトランザクション前の状態に戻す。
MySQLとトランザクション
SET autocommit = 1
で各SQL文が実行されるごとにデータベースを永続化(更新)する。 デフォルトではこの設定になっている。