摘要: 摘要: 一直以为"insert into tb select * from tbx" 这样的导入操作是会把tbx表给锁住的,在锁期间是不允许任何操作(保证一致性)。看完这篇写的之后,发现tbx表是会被锁住,但这个锁有2种情况,现在逐一进行分析: 分析环境: 1:按照主键排序插入的情况 直接插入,不加 阅读全文
posted @ 2013-04-28 16:11 jyzhou 阅读(11149) 评论(0) 推荐(0) 编辑
摘要: 本文来自这里今天一位同学问到线上曾经碰到过连续建表,导致阻塞普通的insert、update等。不过也没有保留现场。因此有疑问为什么建表会影响DML?分析 首先这个现象不是在所有场景都会碰到(否则MySQL的用户们早就跳起来了)。一来建表这个操作本身很快,只涉及到写表定义文件和初始化表空间。中间涉及到redo和undo的操作也很少(这里只讨论InnoDB表)。因此除非碰到磁盘IO响应不了,否则多数情况下建表操作很快结束,不会“稳定复现”二来即使由于io原因,建表过程执行时间较长,建表操作也不会阻塞一些DML操作。 因此只能从代码出发看冲突的case。 假设session 1正在执行一个crea 阅读全文
posted @ 2013-04-28 10:51 jyzhou 阅读(368) 评论(0) 推荐(0) 编辑