什么是数据库的事务?MySql中哪些存储引擎支持事务?
来源:互联网 发布:手机淘宝里的跳蚤街 编辑:程序博客网 时间:2024/06/06 03:44
什么是事务?
事务由一个或多个sql语句组成一个整体,如果所有的语句执行成功那么修改将会全部生效,如一条sql语句将销量+1,下一条再+1,倘若第二条失败,那么销量将撤销第一条sql语句的+1操作,只有在该事务中所有的语句都执行成功才会将修改加入到数据库中。
事务的特性
事务具体四大特性,也就是经常说的ACID
1. 原子性(Atomicity)
原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。
2. 一致性(Consistency)
一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。
拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。
3.隔离性(Isolation)
隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。
4.持久性(Durability)
持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。Mysql中会保存有相应的操作日志,即使遭遇故障依然能够通过日志恢复最后一次更新。
例如我们在使用JDBC操作数据库时,在提交事务方法后,提示用户事务操作完成,当我们程序执行完成直到看到提示后,就可以认定事务以及正确提交,即使这时候数据库出现了问题,也必须要将我们的事务完全执行完成,否则就会造成我们看到提示事务处理完毕,但是数据库因为故障而没有执行事务的重大错误。
MySql中支持事务的引擎
在mysql中用的最多的存储引擎有:innodb,bdb,myisam ,memory 等。其中innodb和bdb支持事务而myisam等不支持事务。
- 什么是数据库的事务?MySql中哪些存储引擎支持事务?
- mysql数据库 引擎切换, 事务支持,存储过程非线程安全,需加锁
- 什么是事务?事务的特性有哪些?
- 什么是事务?事务的特性有哪些?
- 什么是事务?事务的特性有哪些?
- 数据库:事务(存储引擎)
- mysql存储引擎与事务
- Mysql存储引擎与事务
- 什么是数据库的事务???
- 事务无法回滚(mysql数据库存储引擎问题)
- MySQL之数据库存储引擎及事务ACID特性
- mysql 事务 与 数据库引擎
- 查看MySQL数据库支持的存储引擎
- MySQL的存储引擎造成的事务无法回滚
- MySQL的存储引擎造成的事务无法回滚
- MySQL InnoDB存储引擎的事务隔离级别
- mysql的行锁、表锁、事务、存储引擎
- MySql-InnoDB存储引擎的锁和事务
- 序列模式PrefixSpan算法
- Java中BigInteger的使用
- ubuntu下安装最新redis
- PTA 两个有序链表序列的合并
- unittest框架(一)
- 什么是数据库的事务?MySql中哪些存储引擎支持事务?
- git常用命令大全
- Linux中iptables的原理
- 关于OPENCV3.0在运行Hough变换时出现故障的问题解决
- 编码器与译码器
- 你应该要懂的宇宙真相——《给忙碌者的天体物理学 》上篇
- UILabel笔记
- 你不知道的Chrome开发者工具新功能
- 第14节:scala编程之集合