mysql innodb不是行级锁吗?怎么会把整个表锁死?
锁死后把所有的死锁连接kill掉了也没用,再来连接操作那张表的话还是被锁死,只有重启mysql才有用,请问这个是什么原因呢?
要实现行级锁, 需要考虑一个问题, 如何才能 判定 一行正在被使用?mysql使用的索引的方式, 这样当其它查询, 修改根据索引找到这一行的时候, 发现索引被上了锁, 就会等待,
如果查询不是通过索引访问的,那就是 通过简单的遍历所有行得到目标的,那就会给整个表加上锁,
所以要优化你的数据库表, 用于查询的键要加上索引
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。