美文网首页
1.2 mysql的并发控制

1.2 mysql的并发控制

作者: 愤愤的有痣青年 | 来源:发表于2019-05-22 10:08 被阅读0次

所谓的并发控制,就是防止多用户在同时读/写数据库时,保证数据的正确性,如两个用户同时对同一条数据进行修改,那么数据库该采取什么样的策略来处理这样的情况,这就是并发控制需要考虑的.

为了解决这样的问题,mysql使用的锁的方式,也就是当A用户在修改一条数据前,数据库会对这条数据加一个锁,这样当B用户也想修改这条数据时,就会因为锁的存在而不能修改,只有等A修改完成释放锁了以后B才能再次修改.

锁是在数据库的存储引擎层实现的.

1.2.1 读写锁

锁根据场景的不同,分为写锁(排他锁)和读锁(共享锁). 写锁是指当在修改数据的时候,此数据禁止任何读写操作,而读锁是指在读取某条数据时,禁止写的操作,但允许其它读操作的存在.

1.2.2 锁的颗粒

理想情况下,锁住的数据量越小越好,因为这样可以支持更高的并发量,但是,锁越小意味着锁的数量也越多,由于锁的获取/释放等操作需要消耗系统资源, 越少的锁消耗的系统资源越少,因此在实际生产中需要根据实际情况来采用不同的锁级别来平衡数据安全和资源消耗.
为了解决这个问题,mysql采用了两类锁,分别是表锁行级锁

  • 表锁
    表锁是指进行读写操作时锁定整张表,这是mysql最大的级别锁,当数据库在执行对表的结构更改之类的操作时,会将整张表锁住.

  • 行级锁
    行级锁是指在修改某行数据时会将这行数据加锁

相关文章

  • 1. 高性能MySQL(第三版) -目录

    第一章 MySQL架构与历史 1.1 MySQL逻辑架构 1.2 开发控制 1.3 事务 1.4 多版本并发控制 ...

  • 1.2 mysql的并发控制

    所谓的并发控制,就是防止多用户在同时读/写数据库时,保证数据的正确性,如两个用户同时对同一条数据进行修改,那么数据...

  • MySQL系列之三 -- -并发(MVCC)

    MySQL 并发控制如何实现 MySQL 如何实现高并发? 一 并发控制 抛开MySQL,通过技术上来讨论并发控制...

  • MySQL笔记-锁、事务与并发控制

    MySQL服务器逻辑架构 MySQL并发控制 MySQL死锁问题 MySQL中的事务

  • 你应该了解的MySQL锁分类

    MySQL中的锁 锁是为了解决并发环境下资源竞争的手段,其中乐观并发控制,悲观并发控制和多版本并发控制是数据库并发...

  • CentOS环境下mysql远程连接和问题解决

    1、mysql权限修改 1.1 进入mysql控制台 如果顺利进入mysql控制台,请跳到1.2步骤。如果出现修改...

  • MySQL并发控制

    MySQL在处理并发读或者写时,可以通过实现一个有两种类型的锁组成的锁系统来解决问题。这两种类型的锁通常被...

  • MySQL -- 并发控制

    无论何时,只要有多个查询需要在同一时刻修改数据,都会产生并发控制的问题,解决这类经典总是的方法就是并发控制,其实非...

  • mysql并发控制

    在出现多个用户同一时间对用一个表进行读写的时候可能会出现,用户1读取表1同时用户2修改表1或者用户1读取表1同时用...

  • MySQL并发控制

    如果数据库中的所有事务都是串行执行的,那么它非常容易成为整个应用的性能瓶颈,虽然说没法水平扩展的节点在最后都会成为...

网友评论

      本文标题:1.2 mysql的并发控制

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