前面我写了很多Mysql相关的知识点,到这一篇稍微可以串一下了,从SQL执行流程、MVCC到锁,很多时候可能觉得对于间隙锁和Next-Key Lock好像已经理解了,但是好像又觉得理解差那么一点意思,这篇文章从头来梳理一下概念,明确一下...
MySQL InnoDB 存储引擎,实现的是基于多版本的并发控制协议——MVCC,而不是基于锁的并发控制。
MVCC不能解决幻读问题, Next-Key Locks就是为了解决这个问题而存在的. 在可重复读隔离级别, 用MVCC+Next-Key Locks可以解决幻读问题.
MySQL 百问百答 之 可重复读中的快照MySQL 中的视图view 查询语句定义的虚拟表,在调用的时候执行查询语句并生成语句。InnoDB实现MVCC 用的一致性读视图。快照在MVCC里是怎么工作的2.1 什么是快照在可重复读隔离级别下...
统计一张表的总数量,是我们开发中常有的业务需求,通常情况下,我们都是使用 select count(*) from t SQL 语句来完成。随着业务数据的增加,你会发现这条语句执行的速度越来越慢,为什么它会变慢呢?...
如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in: