MySQLの行ロックで発生するギャップロックとネクストキーロックの解決策
MySQLでテーブルのレコードを更新するために、SELECT ~ FOR UPDATE を実行して、対象レコードを行ロックしました。このとき、対象レコードの次のレコードも同時に行ロックされていることがわかりました。
私は Oracle データベース出身者であったため、SELECT ~ FOR UPDATE すれば、対象レコードのみを行ロックできると考えていました。
なぜだろう?と思い、いろいろと調べて試してみた結果、MySQLには、ネクストキーロックという概念があり、その事象であることがわかりました。
MySQL Workbench 6.3.10 CE の インストール
MySQL Workbench をインストールしたので備忘録として残しておきます。
MySQL をインストールして、コマンドプロンプト上でSQL文を実行していたのですが、カラムの数が多いと、実行結果が改行されてしまうので、よいエディタがないものかと探していました。
登録:
投稿 (Atom)
最新
【PHP】スーパーグローバル変数 $_GET $_POST $_REQUEST
スーパーグローバル変数 $_REQUESTは、HTTPメソッドがGETとPOSTのいずれの場合もデータを取得することができる。 $_REQUEST['xxx'] $_GET['xxx'] $_POST['xxx'] ...
-
Windows から Oracle Linux へリモートデスクトップで接続するOSSのXRDPを紹介します。 VNC Server を使用してリモートデスクトップで接続していたのですが、面倒なことがひとつありました。それは、初回のみ、サーバ端末の画面上からログ...
-
Java で 0からZまでを採番するとき、アルファベット(A~Z)の採番をどうやるか。 以下のコードが役に立つと思います。
-
MySQL Workbench をインストールしたので備忘録として残しておきます。 MySQL をインストールして、コマンドプロンプト上でSQL文を実行していたのですが、カラムの数が多いと、実行結果が改行されてしまうので、よいエディタがないものかと探していました。
