MySQL之并发控制和事务

2022-01-20  本文已影响0人  yunsonbai

完整原文

并发控制

无论什么时候,只要有多个线程(或进程)同一数据修改数据,就会产生并发控制问题

读写锁

共享锁和排他锁(或者是读锁和写锁)

锁粒度

尽量只锁住需要修改的内容,而不是所有资源。任何时候,在给定的资源上,锁的数量越少,冲突越少,那么系统的并发程度就越高。

锁也耗资源,锁的操作包括,检查所是否已经解除,获得锁,释放锁,这些都会增加系统开销,进而影响系统性能。锁策略,就是在锁的开销和安全性之间寻求平衡。一般会采用行级锁,MySQL提供了多个选择,每种存储引擎都能实现自己的锁

表锁

MySQL中最基本的锁策略,开销最小,粗暴简单。锁住整张表,需要拿到该锁才能进行增改删,而且该锁还会阻塞其他用户的读。只有没有写锁时,多用户才能同时读取。

另外MySQL会在使用alert table之类的语句中使用表锁,忽略存储引擎自己的锁
.....
剩余部分请看原文

上一篇 下一篇

猜你喜欢

热点阅读