innodb行级锁机制

白日梦桑 2014-03-09 12:46:10
学习了innodb行级锁有一些地方不明白

1 共享锁 select * from ... in share mode,是不是默认对所有select都通用,也就是说是不是innodb默认对所有select语句都会使用行级锁

2 update会对索引和数据加锁,是不是执行所有的update语句都会同时对表的索引和数据行加锁
...全文
160 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2014-03-10
  • 打赏
  • 举报
回复
1 默认隔离级别下select不加锁 2 锁都是加在索引上的
benluobo 2014-03-09
  • 打赏
  • 举报
回复
1 如果是select in share mode 会对查询到的行加上共享锁,如果是一般的select是不会有锁的情况的 2 update实际上是先select in X mode ,再进行修改,所以update会被查询到的行索引进行锁,如果有索引的话,没有索引就会锁表 3 锁跟很多因素有关,innodb来说最重要的就是索引和trx的级别

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧