私はmysqlの初心者ですが、基本はほとんどクリアされていませんが、mysqlのロックシステムについて疑問があります。行ロック メカニズムは mysql の InnoDB エンジンによって提供され、テーブル ロックと比較してテーブル パフォーマンスが向上します。しかし、私の質問は少し異なります。
update table employee set userName = 'Kraven' from employee where userName='raj'
今、userName = rajの行をロックすると思います
- R または r で始まる userName を持つ従業員のデータを取得したい場合、ロックされている行が 1 行少なくなりますか? または、ロックされた行が他のトランザクションのクエリの一部であるため、ロックが保持されますか?
- K で始まる userName を検索すると、最初のトランザクションの行ロックが回避され、最初のトランザクションによる更新が失われますか? 私が間違っている場合は修正してください。行ロックの考えを明確にしたいだけです。