mysql之事务讲解

15 篇文章 0 订阅

一、序言

    事务保证了我们的项目的一致性,这也是我们开发中选择使用InnoBD而不是MyISAM的最根本的原因

二、什么是事务?事务有什么用?

    使用俗话来说就是执行一些列的非原子性操作,最终能够保证达到原子性操作的一种手段。保证数据的完整性,毕竟现代的信息化世界可以说都是以数据为基础的,那么操作数据必然要保证数据的完整性。

    举个例子来说:银行转账:张三给李四转了100,但是在这个过程中,张三转钱之后,银行服务器崩了,张三的钱扣了,李四没收到钱。这事绝对不允许的。

  三、事务具备的四个属性:

    1、原子性    张三100块钱转走了,李四有100块钱到账;或者因为一些原因,张三钱没转出去,李四没收到钱。只有保证是一个原子性的操作才能够保证逻辑单元完成,要么完成,要么退回事务开始前的状态

    2、隔离性    张三使用中国银行APP查看自己的存款,同时使用取款机查看自己的余额,两个事务互不影响

    3、一致性    事务的最终状态

    4、持久性    达到最终的一致性之后,需要将状态进行固化

  四、总结

    也正是有了事务才能够保证生活中的一个个逻辑单元能够有序的进行,是应用程序的一个个逻辑能够完整执行的保证。其也是最为基础的知识。朋友们有什么感觉写的有什么的问题或者有什么不对的地方尽管提出来,及时进行回复和修改。

    

 

当涉及到数据库操作时,事务和存储引擎是两个重要的概念。 1. 事务事务是一组数据库操作,被视为一个单独的工作单元,要么全部成功执行,要么全部失败回滚。事务的目的是确保数据库的一致性和完整性。 在MySQL中,使用以下语句来管理事务: - BEGIN 或 START TRANSACTION:开始一个事务。 - COMMIT:提交事务,将所有修改永久保存到数据库。 - ROLLBACK:回滚事务,放弃所有未提交的修改。 事务具有ACID属性: - 原子性(Atomicity):事务中的所有操作都要么全部执行成功,要么全部失败回滚。 - 一致性(Consistency):事务执行前后数据库从一个一致性状态转换到另一个一致性状态。 - 隔离性(Isolation):并发执行的事务之间是相互隔离的,每个事务感知不到其他事务的存在。 - 持久性(Durability):一旦事务提交,其结果将永久保存在数据库中,即使发生系统故障也不会丢失。 2. 存储引擎: 存储引擎是数据库管理系统中负责数据存储和检索的组件。MySQL支持多种存储引擎,常见的有InnoDB、MyISAM、Memory等。 不同的存储引擎具有不同的特点和适用场景: - InnoDB:默认的存储引擎,支持事务、行级锁、外键等特性,适用于大部分应用。 - MyISAM:不支持事务和行级锁,但具有较高的插入和查询速度,适用于读写频率较低的应用。 - Memory:将数据存储在内存中,读写速度非常快,但数据在数据库重启后会丢失,适用于缓存或临时数据。 通过在创建表时指定不同的存储引擎,可以根据应用的需求选择合适的存储引擎来优化数据库性能和功能。例如,使用InnoDB存储引擎可以保证事务的一致性和隔离性,而使用MyISAM存储引擎可以获得更好的读写性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值