1.s锁
英文为 shared lock,叫共享锁,我们也称为读锁,即 read lock。s锁之间是共享的,或者说是互不阻塞的。
顾名思义,当事务读取一条记录时,需要先给该记录添加s锁,当另一条事务也要读取该记录时,一样可以继续给该条记录添加s锁,但是此时不能添加写锁,也就是x锁,只有前一个事务的s锁释放了,才能加上x锁。
2.x锁
英文为exclusive lock,叫排他锁,我们也常称之为写锁,即write lock。x锁是具有排他性的,即一个写锁会阻塞其他的x锁和s锁
当一个事务需要修改一条记录时,需要先获取改记录的x锁。当事务对一条记录加上了x锁,那么事务即可以读取该条事务也可以修改,而其他事务则不能该条记录再添加任何锁,直到x锁被释放。