数据库的相关

ACID

事务的四大特性主要是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

原子性(Atomicity)

原子性是指事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败。比如在同一个事务中的SQL语句,要么全部执行成功,要么全部执行失败。

begin transaction;update account set money = money-100 where name = '张三';update account set money = money+100 where name = '李四';
commit transaction;
一致性(Consistency)

官网上事务一致性的概念是:事务必须使数据库从一个一致性状态变换到另外一个一致性状态。

换一种方式理解就是:事务按照预期生效,数据的状态是预期的状态。

举例说明:张三向李四转100元,转账前和转账后的数据是正确的状态,这就叫一致性,如果出现张三转出100元,李四账号没有增加100元这就出现了数据错误,就没有达到一致性。

隔离性(Isolation)

事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。

持久性(Durability)

持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。

例如我们在使用JDBC操作数据库时,在提交事务方法后,提示用户事务操作完成,当我们程序执行完成直到看到提示后,就可以认定事务以及正确提交,即使这时候数据库出现了问题,也必须要将我们的事务完全执行完成,否则就会造成我们看到提示事务处理完毕,但是数据库因为故障而没有执行事务的重大错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/35216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】二叉树篇| 纲领思路01+刷题

博主简介:努力学习的22级计算机科学与技术本科生一枚🌸博主主页: 是瑶瑶子啦每日一言🌼: 所谓自由,不是随心所欲,而是自我主宰。——康德 目录 一、二叉树刷题纲领二、刷题1、104. 二叉树的最大深度2、 二叉…

react进阶

react-virtualized的高阶组件,Autosize可以使屏幕适配。使用render-props模式来获取到AutoSizer组件暴露的width和height属性。JSON.parse(JSON.stringify())不适用于有undefined的数据。 深拷贝的使用,不能使用在有undefined的数据中。有直接过滤undefi…

jacoco功能测试-代码覆盖率

1、下载 jacoco 官网地址:EclEmma - JaCoCo Java Code Coverage Library 2、拷贝 jar 包 下载好后,找到这两个文件,然后找到被测项目 3、启动 jacocoagent,监控被测项目 java -javaagent:jacocoagent.jarincludes*,outputtcp…

【Java】异常处理 之 使用Log4j

使用 Log4j 前面介绍了Commons Logging,可以作为“日志接口”来使用。而真正的“日志实现”可以使用Log4j。 Log4j是一种非常流行的日志框架,最新版本是2.x。 Log4j是一个组件化设计的日志系统,它的架构大致如下: log.info(&q…

linux0.95(VFS重点)源码通俗解读(施工中)

文件系统在磁盘中的体现 下面是磁盘的内容,其中i节点就是一个inode数组,逻辑块就是数据块可用于存放数据 操作系统通过将磁盘数据读入到内存中指定的缓冲区块来与磁盘交互,对内存中的缓冲区块修改后写回磁盘。 进程(task_struct * task[N…

Mysql中如果建立了索引,索引所占的空间随着数据量增长而变大,这样无论写入还是查询,性能都会有所下降,怎么处理?

索引所占空间的增长确实会对MySQL数据库的写入性能和查询性能造成影响,这主要是由于索引数据过多时会导致磁盘I/O操作变得非常频繁,从而使性能下降。为此,可以采取以下几种方式来减缓这种影响: 1. 限制索引的大小:可以…

Netty框架技术文档-基本概念

Netty: Home https://github.com/netty/netty 基本概念 NIO(Non-blocking I/O,非阻塞I/O):NIO是一种Java平台的I/O模型,它使用Channel和Buffer来进行数据传输,而不是传统的Stream。NIO模型可以处理大量并…

TCP除了3次握手,其他的这些你知道吗?

文章首发地址 MSS: MSS(Maximum Segment Size)表示TCP报文段的最大长度,通常是MSSMTU-TCP头部长度。由于数据链路层协议的MTU可能不同,因此TCP连接建立时会通过MSS选项告知对方报文段的最大长度。MTU: MTU…

【探索SpringCloud】服务发现-Nacos使用

前言 在聊服务注册中心时,便提到了Nacos。这次便来认识一下。当然,这自然没有官方介绍那般详尽,权当是学习了解Nacos原理的一个过程吧。 Nacos简介 Nacos,全名:dynamic Naming And Configuration Service. 而这个名…

Java JDBC,轻松构建数据库连接:代码教程详解

JDBC的概述 Java Database Connectivity(JDBC)是 Java 中用于与数据库进行通信的 API。它提供了一套标准的 API,并允许 Java 应用程序连接到各种关系型数据库,如 MySQL、Oracle、PostgreSQL 等,从而可以执行 SQL 查询…

win10在vmware15中安装macos10.13系统

第一步、安装vmware版本信息如下 第二步、下载unlocker-main和darwin.iso放到安装文件夹 第三步、管理员身份运行win-install.cmd 第四步、运行vmware新建虚拟机 第五步、启动新创建的虚拟机macOS 10.13并选择语言 第六步、选择磁盘工具抹掉磁盘 第七步、格式化完成后退出磁盘工…

flutter 随笔

万物 皆可 结构 概念 ⽆状态 插件类 flutter系统类 MaterialApp源App应⽤ 事件 很简单/简单/较复杂/复杂/很复杂 结构体 MaterialApp(xx:) 公开坑位属性:所配置内容 Widget 插件事件 function 函数事件 flutter/dart 事件结构描述void Function() 外层主事件 内层回…

数据结构:交换排序

冒泡排序 起泡排序,别名“冒泡排序”,该算法的核心思想是将无序表中的所有记录,通过两两比较关键字,得出升序序列或者降序序列。 算法步骤 比较相邻的元素。如果第一个元素大于第二个元素,就交换它们。对每一对相邻…

Python-OpenCV中的图像处理-图像金字塔

Python-OpenCV中的图像处理-图像金字塔 图像金字塔高斯金字塔拉普拉斯金字塔 金字塔图像融合 图像金字塔 同一图像的不同分辨率的子图集合,如果把最大的图像放在底部,最小的放在顶部,看起来像一座金字塔,故而得名图像金字塔。cv2…

小程序发布注意事项

1、使用HBuildx的 发布 功能发布小程序,因为编译完的代码目录不是同一个 如果使用 运行 到小程序,最后发布的版本会显示”无法连接本地服务器“ 2、使用unicloud的云服务 uniCloud发行 | uni-app官网 阿里云的unicloud的话,使用request域名…

Spring中Bean的循环依赖问题

1.什么是Bean的循环依赖? 简单来说就是在A类中,初始化A时需要用到B对象,而在B类中,初始化B时需要用到A对象,这种状况下在Spring中,如果A和B同时初始化,A,B同时都需要对方的资源&…

电脑开机出现Boot Device怎么办?

开机出现Boot Device这个问题很常见,有时还会出现No Boot Device的问题,虽然多了一个单词,但意思是相同的,这些问题说明你的系统盘出现了问题,或者是引导出现了问题。这该如何解决呢? 方法1. 检查主板或硬盘…

【算法——双指针】LeetCode 283 移动零

题目描述: 思路: (双指针) O(n)O(n)O(n) 给定一个数组 nums,要求我们将所有的 0 移动到数组的末尾,同时保持非零元素的相对顺序。 如图所示,数组nums [0,1,0,3,12],移动完成后变成nums [1,3,12,0,0] &am…

若依vue -【 100 ~ 更 ~ 110 】

100 主子表代码生成详解 1 新建数据库表结构(主子表) -- ---------------------------- -- 客户表 -- ---------------------------- drop table if exists sys_customer; create table sys_customer (customer_id bigint(20) not null…

Docker部署rabbitmq遇到的问题 Stats in management UI are disabled on this node

1. Stats in management UI are disabled on this node #进入rabbitmq容器 docker exec -it {rabbitmq容器名称或者id} /bin/bash#进入容器后,cd到以下路径 cd /etc/rabbitmq/conf.d/#修改 management_agent.disable_metrics_collector false echo management_age…