タグ

lockに関するBigFatCatのブックマーク (3)

  • 共有行ロックと排他行ロックの違い - shima111の日記

    select ... for update; select ... lock in share mode; の違いがよくわからなかった。 データを更新する時に必要なロックは、for update データを参照する時に必要なロックは、share mode と体感的に理解できるのだが、どちらのロックを取ったときも、他の誰もデータを更新、削除できない。 また、どちらのロックも、(for update していたら、他から参照できないのかと思いきや)他の誰からも参照は可能。 ん?となると、この2つのロック、何がどう違うの?? その答えは ここ に書いてあった。(リンク先はPostgresだが、MySQLでも同じこと) 共有ロックとは、排他ロック(更新、削除、FOR UPDATE)をブロックする/される一方、共有ロック同士では互いにブロックしないというものです。 なるほど、share mode はセマ

    共有行ロックと排他行ロックの違い - shima111の日記
    BigFatCat
    BigFatCat 2017/03/05
    更新するから触るなよ→排他ロック。読んでるから更新するなよ(読むのはOK)→共有ロック。
  • そのファイル、安全にロックできていますか?(アトミックなファイル操作:後編)

    おっさんエンジニアの滝澤です。「わしゃあ、まだまだ若いもんには負けん」と老害を振りまくよりかは「俺の屍を超えていけ」と言うようになりたい今日この頃です。 アトミック(atomic)なファイル操作について紹介しているシリーズの最終回です。この内容は弊社の社内勉強会で話した内容をまとめ直したものです。 そのファイル、安全に更新できていますか?(アトミックなファイル操作:前編) そのファイル、安全に作成できていますか?(アトミックなファイル操作:中編) そのファイル、安全にロックできていますか?(アトミックなファイル操作:後編)←今回 今回は「みなさん、安全にロックができていますか?」ということについて、考えてみましょう。 複数のプロセスから同時にファイルに対して書き込みを行うとファイルのデータが壊れるときがあります。これを防ぐために、ファイルへの書き込み処理を行うプログラムのプロセスがロックを

    そのファイル、安全にロックできていますか?(アトミックなファイル操作:後編)
  • InnoDBのロックの範囲とネクストキーロックの話 - かみぽわーる

    この記事はMySQL Casual Advent Calendar 2013 3日目の記事です。 はじめに 以前にSELECT ... FOR UPDATEとロックの挙動 - walf443's blogの記事にTwitterで少し言及したんですが、それの補足というか、InnoDBのロックの範囲について僕はこう理解していますよという話です。 MySQLといえば、InnoDBをネットワークサーバとして使うためのフレームワークであり、SQLはInnoDBのインデックスにアクセスするためのDSLといっても過言ではないでしょう。 InnoDBのロックとはつまるところインデックス行のロックなので、InnoDBのロックの範囲を理解するためにInnoDBのインデックスについて少し前置きしておきます(だいぶ端折ったけど長くなった…)。 クラスタインデックスとセカンダリインデックス すでにInnoDBのイン

    InnoDBのロックの範囲とネクストキーロックの話 - かみぽわーる
  • 1