mysql (1)

82 阅读1分钟

并发控制

  1. 使用锁进行并发控制,锁分为读锁(共享锁)和写锁(排他锁)。 读锁之间是不会相互堵塞的 但是写锁是排他的,没有获得写锁的是不能够进行操作的

锁粒度

  • 锁的创建使用也需要资源开销,然后锁粒度就是在性能开销和数据安全之间找到一个折中平衡

1. 表锁(table lock)

  • 性能开销最小
  • 使用的时候会锁住整张表,一个用户写表的时候,首先要活的写锁,在获得写锁的时候,其他用户不能进行任何操作。
  • 写锁比读锁拥有更高的优先级。

2.行级锁(row lock)

  • 行级锁可以最大程度的支持并发处理(锁开销也很大),行级锁只有在存储引擎层实现,服务器层是不了的。

next-key lock(innodb)

juejin.cn/post/684490…