• 分享于2017-01-10 被收藏0次 0人推荐 0条评论
    关于mysql的锁行还是锁表,这个问题,今天算是有了一点头绪,mysql中innodb是锁行的,但是项目中居然出现了死锁,锁表的情况。为什么呢?先看一下这篇文章。 做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设id=1的这本书库存为1,但是有2个人同时来借这本书,此处的逻辑为Select   restnum from book where id=1;    
  • 分享于2017-01-10 被收藏0次 0人推荐 0条评论
    在一个update和insert操作频繁的表中,少量数据测试的时候运行良好,在实际运营中,因数据量比较大(21万条记录),会出现死锁现象,用show processlist查看,可以看到一个update语句状态是Locked,一个delete语句状态是Sending data。查看了一下参考手册,把锁定相关的资料整理下来,以便自己记录和追踪该问题的解决情况:MySQL 5.1支持对MyISAM和MEMORY表进行表级锁定,对 BDB 表进行页级锁定,对InnoDB 表进行行级锁定。在许多情况下,
  • 1
关闭