并发控制
- 使用锁进行并发控制,锁分为读锁(共享锁)和写锁(排他锁)。 读锁之间是不会相互堵塞的 但是写锁是排他的,没有获得写锁的是不能够进行操作的
锁粒度
- 锁的创建使用也需要资源开销,然后锁粒度就是在性能开销和数据安全之间找到一个折中平衡
1. 表锁(table lock)
- 性能开销最小
- 使用的时候会锁住整张表,一个用户写表的时候,首先要活的写锁,在获得写锁的时候,其他用户不能进行任何操作。
- 写锁比读锁拥有更高的优先级。
2.行级锁(row lock)
- 行级锁可以最大程度的支持并发处理(锁开销也很大),行级锁只有在存储引擎层实现,服务器层是不了的。