MySQL InnoDB ACID 模型

2018-12-03  本文已影响0人  Vincilii
什么是事务?

事务就是将多个操作组合到一起完成,要么全部成功,要么全部失败,具体到数据库就是一组原子性的SQL查询,事务内的语句要么全部成功,要么全部失败。
转账的例子,小张给小王转账200块,小张这边要减200,小王那边要加200,没有事务的话如果小张减200成功,小王加200失败,那么小张给小王说我明明转账给你了,你却说没搜到,然后两个人就开始掐架了。有事务之后,小王那边加两百失败,那么整个交易是不会成功的,小张的账户也不会少200。
MySQL中通过

START TRANSANTION

来开启事务,通过

COMMIT

来提交事务。事务一旦提交成功,就说明事务内的一组操作全部执行成功。

什么是ACID

ACID是一系列数据库的设计模型,它强调业务数据的可靠性。MySQL 的InnoDB 存储引擎就是使用ACID模型来实现的。所以当异常情况(比如软件奔溃或者硬件出现故障)发生时并不会导致数据出现错误。使用ACID特性时,你不需要重新去造一个轮子来进行数据一致性检验和崩溃后数据恢复。但是当你有一定的软硬件保障措施,并且可以容忍一定数据的丢失,那么可以改变MySQL ACID的设置来提高并发和吞吐量。

SET ISOLATION LEVEL

来设置事务隔离级别。

事务隔离级别
上一篇 下一篇

猜你喜欢

热点阅读