mysql并发控制
  当有多个查询需要同时修改同一个数据,就会产生并发控制的问题。mysql可以在两个层面进行并发控制:服务器层和存储引擎层。
  mysql通过加锁实现并发控制:
  ⑴锁有两类:
     读锁:共享锁,即一个读锁不会阻塞其它读锁,多个用户可同时读取同一个资源,而不互相干扰。
     写锁:排他锁,即一个写锁会阻塞其它读写锁,在给定时间内,只有一个用户能执行写入。
  ⑵锁粒度:
     表级锁:锁定整张表
     行级锁:并发程度更高,但维护较麻烦,会增加系统开销,易产生死锁。行级锁只能在存储引擎级别实现,MyISAM存储引擎不支持行级锁
  ⑶锁分类:
     隐式锁:由存储引擎自动完成
     显式锁:用户可手动施加锁(表级锁)
  ⑷手动加解锁:服务器级别
     LOCK TABLES tb_name {READ|WRITE},...;
     UNLOCK TABLES;
     FLUSH TABLES WITH READ LOCK;   #全局施加读锁

     InnoDB存储引擎也支持另外一种显式锁(只锁定挑选出的行):
       SELECT ... LOCK IN SHARE MODE;
       SELECT ... FOR UPDATE; 


此出处http://9124573.blog.51cto.com/9114573/1750376