开发者社区> 问答> 正文

mysql innodb为何会把整个表锁死?

mysql innodb不是行级锁吗?怎么会把整个表锁死?
锁死后把所有的死锁连接kill掉了也没用,再来连接操作那张表的话还是被锁死,只有重启mysql才有用,请问这个是什么原因呢?

展开
收起
落地花开啦 2016-02-08 00:30:33 3877 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    要实现行级锁, 需要考虑一个问题, 如何才能 判定 一行正在被使用?mysql使用的索引的方式, 这样当其它查询, 修改根据索引找到这一行的时候, 发现索引被上了锁, 就会等待,
    如果查询不是通过索引访问的,那就是 通过简单的遍历所有行得到目标的,那就会给整个表加上锁,
    所以要优化你的数据库表, 用于查询的键要加上索引

    2019-07-17 18:39:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像