文章不在长,坚持不懈记录下努力前行的脚步
发布时间:2016-02-25 17:36:06
InnoDB是一个支持多版本的存储引擎:为了支持事务并发和回滚的特征,InnoDB保留了已经改变的行的旧版本的信息。这种信息被保存在表空间的一种称作回滚段的数据结构中(类似于Oracle的回滚段)。InnoDB使用这个回滚段的信息来回滚事务。他也用来构建支持并发读的行的多版本。.........【阅读全文】
发布时间:2016-02-03 13:59:07
今天上班在地铁里突然想到个好玩的数学题,大家一起想想:一楼上电梯后,我发现电梯里面包括我在内只有5个人,我摁了一下6楼,发现有人已经摁了4楼和11楼,稍上点的地方写到电梯最多乘坐13人,于是我就想,4楼最多会下多少人呢?哪6楼跟11楼呢?大家一起来想想吧!!!.........【阅读全文】
发布时间:2016-02-01 11:59:47
这部分内容是基于上一节关于死锁的内容而来的Section 14.2.2.8, “Deadlock Detection AND Rollback”,它解释了为了最小化死锁我们应该如何来操作数据库,以及发生错误后如何处理的问题。在事务性数据库中,死锁是一个典型的的问题,除非他们频繁出现使得你根本不发运行事务,一般情况下没什么危险。.........【阅读全文】
发布时间:2016-01-28 16:46:38
InnoDB自动检测死锁并回滚一个或者多个事务来防止死锁,InnoDB尝试选择小事务回滚,事务的大小是根据insert,update或者delete影响的行数来判断的。如果设置innodb_table_locks = 1和autocommit = 0的话,InnoDB识别到表锁定,并且server层也能识别到行级锁,否则的话,由LOCK TABLE语句设置的表锁导致的死锁将不会被检测.........【阅读全文】