首页 > 其他分享 >什么是事务?事务有哪些特点?

什么是事务?事务有哪些特点?

时间:2022-09-25 15:14:07浏览次数:50  
标签:转账 事务 哪些 要么 数据库 特点 执行 1000

事务就是多条sql语句组成的工作逻辑单元

事务的特点:原子性、一致性、隔离性、持久性

事务对SQL 语句进行分组,使它们要么全部提交 ( 这意味着它们被应用到数据库 ) ,要么全部回滚 ( 这意味着它们从数据库撤消 ) 。

只要有一条 SQL 语句执行失败,则已执行的 SQL 语句会回滚到执行之前的状态,这样就保证了数据库数据的一致性,不至于产生混乱的数据。

•原子性 Atomicity

事务必须是原子工作单元,对其进行的数据修改,要么全都执行,要么全都不执行。

强调事务的不可分割 。

例如: 银行转账, A 向 B 转账 1000 元, 要在A 账户上 减少 1000 元,同时要在 B 账户上 增加 1000 元。 并且记录一条转账记录。 要么同时执行,要么都不执行更改,以确保整个事务是一个原子工作单元。

•一致性 Consistency

事务将数据库从一个一致状态转移到另一个一致状态。

强调事务执行前后, 数据库的完整性保持一致 。

例如, 银行转账,A 向 B 账号转账 1000 元,是不允许看到 A 的账号减少 1000 , B 的账号还没来得及增加 1000 的中间状态。

•隔离性 Isolation

一个事务不会看到另外一个还未完成的事务产生的结果。每个事务就像在单独、隔离的环境下运行一样。

强调事务并发访问 , 一个事务的执行 , 不应该受到另一个事务的打扰。

例如,一个用户正在更新员工表。其他用户不会看到对员工表所做的未提交更改。因此,在用户看来,事务似乎是串行执行的。

•持久性 Durability

提交的事务所做的更改是永久性的。 不会因为系统失败而丢失。强调事务结束 , 数据永久保存数据库中 。事务完成后,数据库通过其恢复机制确保事务中的更改不会丢失。

标签:转账,事务,哪些,要么,数据库,特点,执行,1000
From: https://www.cnblogs.com/stanzhou47/p/16727878.html

相关文章

  • 浏览器有哪些缓存?localStorage、sessionStorage、cookie的、session的区别是什么?
    浏览器的缓存机制提供了可以将用户数据存储在客户端的方式,可以利用cookie,session等跟服务器端进行数据交互1.保存方式cookie保存在浏览器端session保存在服务器端2.......
  • http常见状态码有哪些?
    一、1开头的状态码(信息类)100,接受的请求正在处理,信息类状态码二、2开头的状态码(成功类)2xx(成功)表示成功处理了请求的状态码200(成功)服务器已成功处理了请求。三、3......
  • 线上自助打印小程序有哪些?
    如果你有不少资料或文件需要打印,那么你会选择怎么样的打印方式呢?是找遍周边的大大小小打印店,然后货比三家,选择一个价格优惠的打印店进行打印?还是直接在网上找到一个实惠又......
  • Spring事务传播实现原理
    什么是事务传播?假设这样一个场景:方法A上面添加了一个@Transactional注解,在该方法中去调用另一个Service的方法B,但方法B并不需要事务,但是由于A开启了事务,导致B方法的执行也......
  • 数字化转型需要经历哪些步骤?
    数字化转型大致分为下列五个步骤:1、首当其冲的是战略上的转型!客观来讲,数字化转型实际上是“一把手”的一场自我革命之旅,“一把手”要有自我否定的勇气,摒弃路径依赖,重塑......
  • 分布式事务
    分布式事务1.分布式事务问题1.1.本地事务本地事务,也就是传统的单机事务。在传统数据库事务中,必须要满足四个原则:1.2.分布式事务分布式事务,就是指不是在单个服务或单......
  • Spring事务说明
    事务失效场景注意spring事务时通过springaop实现的,通过this关键字调用方法时,没有通过代理类代理方法,导致事务失效Spring的默认的事务规则是遇到运行异常(RuntimeExcepti......
  • JavaWeb--MySQL约束、数据库设计、多表查询、事务--2022年9月22日
    第一节  约束1、概念A、约束是什么约束是作用于表中列上的规则,用于限制加入表的数据约束的存在保证了数据库中数据的正确性、......
  • MySQL维护之哪些命令可以查看锁
    在MySQL实战之死锁与解决方案-池塘里洗澡的鸭子-博客园(cnblogs.com)和MySQL中锁机制实现原理-池塘里洗澡的鸭子-博客园(cnblogs.com)中对查看锁的信息都有......
  • Lua脚本在Redis事务中的应用实践
    使用过Redis事务的应该清楚,Redis事务实现是通过打包多条命令,单独的隔离操作,事务中的所有命令都会按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打......