摘要:
6. 行锁 MySQL的行锁是引擎层各引擎自己实现的,不是所有引擎都支持行锁,MyISAM 就不支持。 行锁针对的数据表中行记录的锁,比如事务a更新某一行,事务b也要更新同一行,那必须等事务a执行完。 6.1 二阶段锁 锁的添加与释放分到两个阶段进行,之间不允许交叉加锁和释放锁。 也就是在事务开始执 阅读全文
摘要:
7. 事务隔离的具体实现 不可重复读: 事务开启的时候创建视图 → 之后事务执行期其他事务修改了数据,当前事务查看到的和开始事务时的一样。从此看出,事务读数据的时候是隔离的。 但是当前事务修改数据的时候,如果其他事务先对该行数据进行修改,则触发行锁,需要等其他事务执行完,释放锁后,才能执行。这里感觉 阅读全文
摘要:
1.唯一索引和普通索引 1. 1 查询过程中的不同 在索引树查询的过程,通过B+树从树根开始,按层搜索到叶子节点。 比如select id from T where k=5,搜索到的就是下图中右下角的数据页,然后可以认为数据页内部通过二分法来定位记录。 普通索引:查找到满足条件的第一条记录后,接着搜 阅读全文