エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
【MySQL】読み取り専用トランザクションもmetadata lockを取る - 地方エンジニアの学習日記
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
【MySQL】読み取り専用トランザクションもmetadata lockを取る - 地方エンジニアの学習日記
dev.mysql.com BEGINなどをせずにSELECTを実行しただけでも読み取り専用トランザクションというのが開始... dev.mysql.com BEGINなどをせずにSELECTを実行しただけでも読み取り専用トランザクションというのが開始されるらしい。スロークエリが実行されているテーブルに対してDDLを実行するとmetadata lockが取られて以降のDMLが全てブロックされる問題があるがBEGINとかしてない場合は問題ないのでは?と思ったので調べてみた。 TrxA > SELECT SLEEP(3600) from HOGE; とやってHOGEに対してDDLを発行すると3600sの間DDLは待たされ以降のDMLを全て待たされる。読み取り専用トランザクション中にALTERが実行されるとトランザクションの分離を実現できなくなるので考えてみればそれはそうという感じである。 実験してみる こんなテーブルにALTER TABLEを実行してみる mysql> desc test_table; +--------