タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

transactionとselfに関するa2ikmのブックマーク (1)

  • MySQL InnoDBの行ロック - There's an echo in my head

    ロックがわからない。MySQL InnoDBの行レベルロックを読んだけど、イマイチわからない。というわけで、社内の勉強会で知ったことをまとめてみる。 FOR UPDATEかLOCK IN SHARE MODEによって、そのトランザクション中に走る別画面でのクエリの処理のタイミングが異なる。 FOR UPDATEによるロック まずは画面Aで接続が行われ、トランザクションが開始され、SELECT文が発行されたとする。 [画面A] BEGIN; // トランザクションA開始 SELECT * FROM users WHERE id = 1 FOR UPDATE; COMMIT; // トランザクションA終了 そしてトランザクションAの開始後〜終了前に画面B〜Dがクエリを発行したとする。 ちなみにトランザクションを開始しておかないとFOR UPDATEを書いても画面Aでのロックが始まらないので要注

    MySQL InnoDBの行ロック - There's an echo in my head
    a2ikm
    a2ikm 2012/12/10
    ロックとかよくわからずにやってきたので。
  • 1