MYSQL事务

Posted 偶像java练习生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL事务相关的知识,希望对你有一定的参考价值。

事务

要么都成功,要么都失败

  1. SQL 执行 A给B 转账 A1000 —> B200 (A 转给B 200 块钱)
  2. SQL B 收到A 的钱 A 800 --> B400 (B 收到A 200 块钱)

将一组SQL 放在一个批次中去执行

事务有一个原则:ACID 原则,原子性,一致性,隔离性,持久性 (脏读,幻读)

原子性(Atomicity)
要么都成功,要么都失败

一致性(Consistency)
事务前后的数据完整性要保证一致,1000

持久性(Durability)
事务一旦提交则不可逆,被持久化到数据中!

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

隔离所导致的一些问题:

脏读
指一个事务读取了另一个事务未提交的数据。

不可重复读
在一个事务内读取表中的某一行数据,多次读取结果不同,(这个不一定是错误,只是某些场合不对)

虚读(幻读)
是指在一个事务内读取到了别的事务插入的数据,导致前后读取不一致!

以上是关于MYSQL事务的主要内容,如果未能解决你的问题,请参考以下文章

mysql存储引擎MyISAM和InnoDB

大数据量时Mysql的优化

MongoDB中的explain和hin提的使用

各种数据库的特点

Mysql数据库安装与简介

mysql 建立索引场合及索引使用