MySQL在处理并发读或者写时,可以通过实现一个有两种类型的锁组成的锁系统来解决问题。这两种类型的锁通常被称为共享锁和排他锁,也叫读锁和写锁。读锁是共享的,或者说是相互不阻塞的。多个客户在同一时刻可以同时读取同一个资源,二互不干扰。血锁则是排他的,也就是说一个写锁会阻塞其他的写锁和读锁,只有这样就,才能确保在给定的时间里,只有一个用户能执行写入,并防止其他用户读取正在写入的同一资源。
MySQL的锁粒度。锁的粒度越小并发程度越高,但是粒度越小锁就越多系统的开销就越大;相反,锁的粒度越大,并发程度越低,系统开销越小。MySQL有表锁和行级锁两种锁机制。