タグ

ブックマーク / abicky.net (2)

  • InnoDB の行レベルロックについて解説してみる

    自分の浅はかな理解だと、Deadlock が起こる理由が説明できないケースに遭遇したので、InnoDB の行レベルロックについて調べてまとめてみました。 「行レベルロックだと、同じ行を更新する場合にしか Deadlock が起こらないんでしょ」と思っているような人が対象です。 また、主に InnoDBのロックの範囲とネクストキーロックの話 - かみぽわーる を参考にさせていただいたので、そちらの内容がすんなり理解できる方には冗長な内容だと思います。 MySQL のバージョンは 5.6.33 です。 サンプルデータ 次の SQL で作成したデータを扱うことにします。 CREATE TABLE `orders` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `product_id` int(10) unsigned NOT NULL, `us

    InnoDB の行レベルロックについて解説してみる
  • Mysql2 の "MySQL client is not connected" について

    Rails アプリケーションのドメインロジックを共有するためにバッチでも Rails を使っているケースはあるかと思います。 先日、長時間稼働しているバッチで MySQL サーバの再起動後に MySQL client is not connected が起きたんですが、数年 Rails を使っていて初めて遭遇したエラーだったので、次の 2 点について調べてみました。 このエラーにはどう対処すべきなのか? バッチ特有の問題なのか? そもそも MySQL client is not connected とは? Mysql2 のこの辺で定義されているエラーです。 定義を見る限り、client が初期化されているにも関わらず、network socket (file descriptor) が無効な状態だとこのエラーになるみたいですね。 network socket が無効な状態になるケースですが

    Mysql2 の "MySQL client is not connected" について
  • 1