innodb的锁分两类:lock和latch. 其中latch主要是保证并发线程操作临界资源的正确性,要求时间非常短,所以没有死锁检测机制.latch包括mutex(互斥量)和rwlock(读写锁). 而lock是面向事务,操作(表.页.行)等对象,用来管理共享资源的并发访问,是有死锁检测机制的.现在我们要着重讲的是innodb的lock锁,下面我们先来介绍几个概念. 行锁:innodb实现了多粒度锁,作用对象为表则为表锁,作用对象为行(Record)则为行锁.其中行锁包括共享行锁和排他行锁.…