InnoDB表(转)

   InnoDB表与MyISAM表的最大不同,一是支持事务(TRANCSACTION),二是可以有条件的使用行锁。

   InnoDB行锁是通过给索引加锁来实现的,也就是,只有通过索引条件检索数据时,InnoDB才能使用行级锁,否则使用表锁。
   InnoDB有两种模式的行锁:
   1. 共享读锁(S锁),获得锁的事务可以读被加锁的数据行,其他事务也可以读这些数据行,但阻止其他事务获得相同数据集的排他写锁
      select * from table_name where ... lock in share mode;

   2. 排他写锁(X锁),获得锁的事务可以读写被加锁的数据行,其他事务对这些数据行不可读也不可写,即阻止其他事务取得相同数据集的共享读锁和排他写锁
      select * from table_name where ... for update;

你可能感兴趣的:(InnoDB表(转))