高性能MySQL之锁机制(2)

并发控制


 并发控制的任务是确保当多个事务同时修改数据库中同一个数据时,不破坏事务的隔离性和一致性。解决并发的一种方式就是加锁。


当并发事务同时访问一个资源时,有可能导致数据不一致,因此需要一种机制来将数据访问顺序化,以保证数据库数据的一致性。锁就是其中的一种机制。

1.锁按级别分为:表锁、行级锁、页锁

  三种锁的特性:

  表锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁的冲突概率最大,并发性低。

  行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁的冲突概率最小,并发性也最高。

  页锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。

2.读写锁

   共享锁也叫读锁,排它锁也叫写锁。

   读锁:读锁是共享的,互不阻塞的,多个客户可以同时读取同一数据。

   写锁:写锁是拍他的,一个写锁会阻塞其他的写锁和读锁。

 

posted @ 2016-08-27 11:44  铜锣  阅读(156)  评论(0编辑  收藏  举报