广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中锁有何必要性及类别
  • 779
分享到

MySQL中锁有何必要性及类别

2024-04-02 19:04:59 779人浏览 泡泡鱼
摘要

下文主要给大家带来Mysql中锁有何必要性及类别,希望这些内容能够带给大家实际用处,这也是我编辑mysql中锁有何必要性及类别这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。   

下文主要给大家带来Mysql有何必要性及类别,希望这些内容能够带给大家实际用处,这也是我编辑mysql中锁有何必要性及类别这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。                                                            

当用户访问量增长时,数据库往往是一个系统的性能瓶颈,但不光光是性能瓶颈,数据安全也会随之浮现,这时候锁机制就非常有必要。

并发造成的数据安全问题主要分为3个方面:脏读、幻读、不可重复读

一. 脏读

脏读就是一个事务读取到了另一个事务未提交的数据。

时间线  事务1                               事务2
  1    begin;                                  
  2    select * from lock where id = 1;
  3                                       begin;
  4                                       update lock set name='dirty';
  6    select * from lock where id = 1;
  7    commit;                            commit;

二. 幻读

幻读就是一个事务读到了另一个事务insert的数据

时间线       事务1                            事务2
   1        begin;
   2        select * from lock where id > 1;
   3                                        begin;
   4                                        insert lock select 2;
   5                                        commit;
   6        select * from lock where id > 1;
   7        commit;

三. 不可重复读

不可重复读就是多次读取统一数据返回的结果不一致。同脏读不同,这是读取已经提交的数据;同幻读也不同,这边是更新数据,幻读是插入数据。

时间线   事务1                            事务2
        begin;
        select * from lock where id = 1;
                                        begin;
                                        update lock set name='non-rr';
                                        commit;
        select * from lock where id = 1;
        commit;

Mysql通过对事务的隔离来解决以上三种问题
共有4种隔离级别

隔离级别           脏读   幻读   不可重复读
未提交读(RUC)       是     是      是
已提交读(RC)        否     是      是
可重复读(RR)        否     是      否
可串行化            否     否      否

MySQL通过锁机制来实现事务的隔离

锁的分类如下

MySQL中锁有何必要性及类别

对于以上关于MySQL中锁有何必要性及类别,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的数据库,相信你会喜欢上这些内容的。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中锁有何必要性及类别

本文链接: https://www.lsjlt.com/news/36260.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL中锁有何必要性及类别
    下文主要给大家带来MySQL中锁有何必要性及类别,希望这些内容能够带给大家实际用处,这也是我编辑MySQL中锁有何必要性及类别这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。   ...
    99+
    2022-10-18
  • MYSQL中的锁主要有哪些分类
    下面讲讲关于MYSQL中的锁主要有哪些分类,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MYSQL中的锁主要有哪些分类这篇文章你一定会有所受益。 在数据库的锁机制中介...
    99+
    2022-10-18
  • MySQL中float double和decimal类型有何区别
    下文主要给大家带来MySQL中float double和decimal类型有何区别,希望这些内容能够带给大家实际用处,这也是我编辑MySQL中float double和decimal类型有何区别这篇文章的主...
    99+
    2022-10-18
  • MySQL中count()和count(1)有何区别以及哪个性能最好详解
    目录前言哪种 count 性能最好?为什么要通过遍历的方式来计数?如何优化 count(*)?*第一种,近似值*第二种,额外表保存计数值总结前言 当我们对一张数据表中的记录进行统计的...
    99+
    2022-11-13
    mysql中count()和count(1)区别mysql count(*)和count(1) mysql的count(1)
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作