美文网首页
MySQL之并发控制和事务

MySQL之并发控制和事务

作者: yunsonbai | 来源:发表于2022-01-20 16:30 被阅读0次

    完整原文

    并发控制

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

    读写锁

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

    • 读锁: 共享的,多用户可以同时读取同一个资源,相互不干扰
    • 写锁: 排他,会阻塞其他的读锁或者写锁,只能一个用户写入

    锁粒度

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

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

    表锁

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

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

    相关文章

      网友评论

          本文标题:MySQL之并发控制和事务

          本文链接:https://www.haomeiwen.com/subject/nfwjhrtx.html