Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

先看锁的分类: 按照是否共享,可以分为: 共享锁(读锁) 排他锁(写锁) 按照锁的粒度,可以分为: 表锁 行锁 要谈锁,我认为是要结合事务隔离级别一起谈的,MySQL的事务隔离级别有: Read Uncommitted Read Committed Repeatable Read Serializable InnoDB默认的是行锁,而且行锁是加给索引的,所以如果没有索引,那也就只...

讨论MySQL的MVCC的同时还应该讨论MySQL中的锁,不过本文先就MVCC进行讨论。 MVCC叫做多版本并发控制,它主要是为了实现多个事务之间的隔离性而提出的一种更高效的方法,为什么说更高效呢,因为锁也可以实现,只不过相比之下比较低效。 MVCC的核心有三: MySQL每一行记录的隐藏列之DATA_TRX_ID MySQL每一行记录的隐藏列之``DATA_ROLL_PTR` READ ...

提到MySQL索引,都会讲到B树和B+树,今天来梳理一下。 最开始是二叉查找树,但是这种树不平衡,有时候会退化成一条链表,使得查找时间边长,于是就有了二叉平衡树。 理论上讲,二叉平衡树已经能满足一些查找需求了,为什么还要有B树呢? 因为数据库在磁盘中,而查找的时候需要读一部分数据到磁盘中,这就涉及到了IO,IO的时候是以磁盘块为单位读取的,或者说是以页为单位。我们使用树这种数据结构,一个磁盘...