タグ

ブックマーク / atsuizo.hatenadiary.jp (1)

  • MySQLのトランザクション制御がキモい話 - なからなLife

    MySQL Casual Advent Calendar 2016 - Qiitaの5日目の記事です。 AdventCalendar自体初参加でドキドキ。 トランザクションの開始は、BEGINしたときじゃない! MySQLでは、BEGIN(START TRANSACTION。長いので、以下、特筆すべき場合以外は「BEGIN」で)を宣言しても、内部的にはまだトランザクションを開始してません。 SQLを投げたタイミングで、トランザクション開始になります。 このとき、更新のない、FOR UPDATEもないSELECT文でも、トランザクションが開始されます。 なにそれきもい。 「AutoCommit=ON/OFF」による違い AutoCommit=ONのとき トランザクションはSQLを発行するたびにBEGIN/COMMITで完了し、ロールバックできません。 複数SQLを束ねて1つのトランザクション

    MySQLのトランザクション制御がキモい話 - なからなLife
    terazzo
    terazzo 2016/12/05
    アイソレーションレベルにもよるかもだけどSELECT時にトランザクション始まってないと都合悪くないか?
  • 1