首先,锁是为了解决并发时数据安全问题
一种锁
会严重影响并发性能
读写锁
将锁分为共享锁(读锁)、排他锁(写锁)
写锁时,不能写与读,
读锁时,可以并发读取
锁的粒度
任何时候,在给定的资源上,锁定的数据量越少,则系统的并发程度越高,只要相互之前不发生冲突即可
加锁也需要消耗资源,锁的各种操作(获得锁,检查锁是否已经解除、释放锁等)会增加系统的开销
所谓锁的策略,就是在锁的开销和数据的安全之前寻求平衡
表锁
mysql中最基本的锁策略,并且是开销最小的锁策略,但是其并发程度较低
行锁
行级锁可以最大程度支持并发处理(同时也带来了最大的锁开销)