Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

アイソレーションレベル

      2013/07/15

データベースはあまり詳しくないので、メモ書き。

SQL-92の仕様では、アイソレーションレベルというものがあり、READ_UNCOMMITTED, READ_COMMITED, REPAETABLE_READ, SERIALIZABLEという4つのレベルがあります。これを”SET TRANSACTION ISOLATION LEVEL”文で設定できます。これを設定することで、データベースからデータを読み込む際の挙動がかわります。

それぞれの意味は以下の通り。下にいくほど同時実効効率が悪くります。(NONEを除く)

アイソレーションレベル トランザクションサポート 不正な読み込み
ダーティリード ノンリピータブルリード ファントムリード
READ_UNCOMMITTED 発生 発生 発生
READ_COMMITETED
未発生 発生 発生
REPEATABLE_READ 未発生 未発生 発生
SERIALIZABLE 未発生 未発生 未発生
NONE ×
発生 発生 発生

ここでの なんとかリードっていうのは以下のような意味です。

  • ダーティリード
    • トランザクションAとBがあって、Aが更新内容をコミットしていないのにBにはその内容が見えてしまうこと
  • ノンリピータブルリード
    • トランザクションAとBがあって、Aが更新している最中にBが複数回のSELECTをした場合に、複数回のSELECTの結果が違うこと
  • ファントムリード
    • トランザクションAとBがあって、Aがrowの追加・削除している最中にBが複数回のSELECTをした場合に、複数回のSELECTの結果が違うこと

 - IT技術, プログラミング

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
OpenStack LibertyをRDOを使ってインストール on CentOS7(KVM)

ホストOS(CentOS7)に直接OpenStackを入れると、失敗した時が面倒 …

no image
コンピュータ名でアクセスできるがIPでアクセスできない@Windows ファイル共有

タイトルのような事象がWindows のファイルの共有で発生しました。 コンピュ …

no image
VMware Serverのコンソールが起動しない@Debian Etch

数年前にDebian EtchにVMware 1.0.4をインストールした時は、 …

no image
使用中のファイルの追跡@WindowsXP

Windows上であるファイルを削除しようとすると、使用中で削除出来ないときがあ …

no image
KVMのコンソールに接続する@RHEL6 on Fedora14 KVM

KVM上で仮想OSを動かしている場合、コンソールに接続するには、少し設定を変更す …

no image
Cygwin 1.7 の起動が遅い@ Windows 7 x64

PuttyやCygterm で cygwin を起動しているのですが、コンソール …

no image
Galaxy S + PdaNet でBluetoothテザリング

※本記事の方法でいかなる損害が発生したとしても、責任は負いません。 Galaxy …

no image
cygwin ck のダブルクリック選択文字列の範囲を変更する

Cygwin 用のターミナルソフトウェア cygwin ck  を便利に使わせて …

no image
mod_rewriteを使って、特定のファイルをSSLアクセスにする@Apache with RHEL5

TracやWikiなどのWebアプリケーションを使ってて、普段は通常のhttpア …

no image
画面の外に行ってしまったウィンドウを移動する@Windows 7

Windows XPの場合、ウィンドウが画面外に行ってしまって移動できない場合、 …