MySQL Community Edition デッドロックの原因をInnoDBのロック構造から読み解く
「MySQL Community Edition デッドロック」で原因を調べる人に向け、InnoDBのインデックスとロックアーキテクチャを順に学べる記事を紹介します。実際の事例と実行可能なSQLから、二つのトランザクションがデッドロックに至る流れを説明するための知識が得られます。
📄
著者はMySQL 8.4.0、InnoDB、REPEATABLE READの環境で、scoresテーブルを使ったデッドロックの再現手順を示しています。B+Treeや各種インデックスを押さえたうえで、実際のロック例から原因を解明する構成です。
- 二つのトランザクションによるデッドロックの再現
- InnoDBのB+Treeインデックス構造
- クラスタ・セカンダリインデックスの違い
- 複合インデックスとロック例による原因解明
記事は著者の方がZennに公開されているものです。当社は内容を転載していません。上のリンクから元記事が開きます。
MySQL Community Edition とは
Webシステムで広く利用されるオープンソースのリレーショナルデータベースです。
MySQL Community Edition を実務で使うための情報
MySQL Community Edition の他のテーマ
よくある質問
MySQL Community Edition は商用利用できますか?
MySQL Community Edition はオープンソースとして公開されています。ライセンスの条件(改変版を配布する場合の義務など)は元のリポジトリで確認してください。当社のカタログページでは、ライセンスの区分と実務上の注意点をまとめています。
MySQL Community Edition デッドロック で調べています。まず何を読めばよいですか?
このページで紹介しているZennの記事「InnoDB のロックアーキテクチャを理解してデッドロックを説明できるようにする」が、実際に手を動かした人の記録です。導入の可否や費用の考え方まで含めて判断したい場合は、あわせて当社のカタログページをご覧ください。
自分で導入するのが難しい場合はどうすればよいですか?
当社がOSSの導入・日本語化・サーバー構築を代行しています(税込110,000円〜)。相談は無料で、Zoomでの打ち合わせにも対応しています。「そのOSSは御社には向かない」という結論になることもあり、その場合はそうお伝えします。
読んだうえで、自分でやるか任せるか
OSSは「入れる」より「日本語で運用に乗せる」ほうが手間です。記事のとおりに進めて詰まったら、そこから先は任せてください。