数据库-封锁
一、封锁粒度
MySQL提供了两种封锁粒度:行级锁和表级锁。
行级锁是单独的一行数据加锁,其他进程还是可以对同一个表中的其他行数据进行修改。
表级锁是对整个表加锁,在锁定期间,其他进程无法对该表进行写操作。
选择封锁粒度的原则:
应该尽量只锁定需要修改的那部分数据,而不是所有资源。锁定的数据量越小,也就是封锁粒度越小,发生锁争用的概率就越小,系统的可并发程度就越高。但是加锁会增加系统开销,封锁粒度越小,系统的开销越大。在选择封锁粒度的时候,需要在可并发程度和系统开销之间做权衡。