IT辅导娱乐网| 蜘蛛地图| 所有文章|
数据库事务四大特性 - IT辅导
  • 首页
  • IT技术 IT辅导资源网设计图
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享 IT辅导资源网设计图
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧 IT辅导资源网设计图
    • seo教程
  • 编程教程
  • 值得看一看 IT辅导资源网设计图
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能 IT辅导资源网设计图
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿


登录后,享受更多优质服务哦
IT辅导资源网站长qq头像
欢迎回来,可爱的会员!个人中心退出登录
导航菜单
  • 首页
  • IT技术
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧
    • seo教程
  • 编程教程
  • 值得看一看
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿

数据库事务四大特性

1970/1/1 五年级扛把子 

数据库四大特性,就必须知道什么是事务。所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转帐工作中:将一个帐户扣款转向另一个帐号中,这两个操作要么都执行,要么都不执行。
1).原子性(Atomicity)
一个事务中的所有操作,要么全部完成,要么全部不完成,它不会结束停留在中间某个中间环节。如果事务在执行过程中发生错误,会被回滚到事务开始前的状态,如同这个事务从来没有执行过一样。
2).一致性(Consistency)
一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。如果事务成功地完成,那么系统中所有变化将正确地应用,系统处于有效状态。如果在事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态。
3).分离性(或者独立性Isolation)
分离性指同时发生的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。假如并发交叉执行的事务没有任何控制,操纵相同的共享对象的多个并发事务的执行可能引起异常情况。
4).持久性(Durability)
持久性指的是只要事务成功结束,它对数据库的操作更新就必须永久保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。

在关系型数据库中,事务的隔离性分为四个隔离级别,在解读这四个级别前先了解一下几个数据读取的概念。
1.脏读
脏读是指在一个事务处理过程里读取了另一个未提交的事务中的数据。
2.不可重复读
不可重复读是指一个事务先后读取同一条记录,但两次读取的数据不同,我们称之为不可重复读。也就是说,这个事务在两次读取之间该数据被其它事务所修改。
3.虚读(幻读)
虚读是指一个事务按相同的查询条件重新读取以前检索过的数据,却发现其他事务插入了满足其查询条件的新数据,这种现象就称为幻读。例如事务1对一个表中所有的行的某个数据项做了从“1”修改为“2”的操作,这时事务2又对这个表中插入了一行数据项,而这个数据项的数值还是为“1”并且提交给数据库。而操作事务1的用户如果再查看刚刚修改的数据,会发现还有一行没有修改,其实这行是从事务2中添加的。

现在来看看MySQL数据库给我们提供的四种隔离级别吧:

js3.png
以上四种隔离级别最高的是Serializable级别,最低的是Read uncommitted级别,当然级别越高,执行效率就越低。像Serializable这样的级别,就是以锁表的方式(类似于Java多线程中的锁)使得其他的线程只能在锁外等待,所以平时选用何种隔离级别应该根据实际情况。在MySQL数据库中默认的隔离级别为Repeatable read (可重复读)。

 点赞:0  打赏  分享  海报

  • 打赏支付宝扫一扫
  • 打赏微信扫一扫
  • 打赏企鹅扫一扫
结束语
温馨提醒:如有技术问题以及资源失效请联系站长 QQ89549822 进行反馈!!!
 您阅读本文耗时: 0小时02分35秒
热度:320° 发布时间:1970年1月1日

推荐:

标题:数据库事务四大特性

链接: https://www.itfd.cn/post-1078.html

版权:转载请注明来源于【IT辅导娱乐网】为原创

上一篇: vscode新建vue+elementUI项目

下一篇: C#运算符大全

作者头像 作者名称 作者性别
五年级扛把子
联系作者 作者主页

热门推荐

1 jQuery Ajax的使用介绍
2 Maven如何配置远程仓库
3 element-ui是什么,以及element-ui的使用
4 IDEA通过maven构建JavaWeb项目步骤详解
5 Java运行时报java.lang.NullPointerException详解
6 Linux文件基本操作命令

评论列表

取消回复

  • 存档

    • 2020年9月(191)
    • 2020年8月(92)
    • 2020年7月(5)
    • 2020年6月(224)
    • 2020年5月(392)
    • 2020年4月(267)
    • 2020年3月(76)
    • 2019年3月(1)
    • 1970年1月(29)
  • 搜索

  • 热门文章

    • 神佑之路手游源码-附视频教程
    • 最新可用老王VPN2.22.15谷歌市场版,免费使用
    • 私藏的十个网站,不看后悔系列
    • 虚拟商品自动发货商城源码
    • 不吃苦、不奋斗,你要青春做什么?
  • 随机文章

      • 电脑新手先要掌握哪些基础知识才行it辅导
        • java开发中.java文件与.class文件概述
          • 想升级你的电脑一些基础知识必须要知道it辅导
            • eclipse快捷键大全
              • 海归硕士,91大佬爱丝寂寞人被抓
    提示信息

    SQL语句执行错误: SELECT COUNT(*) AS total FROM emlog_twitter
    Table 'itfd.emlog_twitter' doesn't exist

    «点击返回