码迷,mamicode.com
首页 > 数据库 > 详细

MySQL事务

时间:2018-05-04 11:47:49      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:串行化   ssi   一致性   通过   重复   mil   session   SQ   相互   

事务的4个特性:ACID

原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability

原子性: 是指某几句sql的影响,要么都发生,要么都不发生.

一致性: 事务前后的数据,保持业务上的合理一致.

隔离性: 在事务进行过程中, 其他事务,看不到此事务的任何效果.

持久性: 事务一旦发生,不能取消. 只能通过补偿性事务,来抵消效果.

事务与引擎:

myisam引擎不支持事务, innodbBDB引擎支持.

事务的使用流程:

比较简单:  

开启事务   start transaction

执行查询   xxxx

提交事务/回滚事务. commit / rollback

 

set session transaction isolation level [read uncommitted |  read committed | repeatable read |serializable]

 

read uncommitted:  读未提交的事务内容,显然不符原子性, 称为”脏读”.

 

read commited:   在一个事务进行过程中, 读不到另一个进行事务的操作,但是,可以读到另一个结束事务的操作影响.

 

repeatable read: 可重复读,即在一个事务过程中,所有信息都来自事务开始那一瞬间的信息,不受其他已提交事务的影响. (大多数的系统,用此隔离级别)

 

serializeable 串行化  , 所有的事务,必须编号,按顺序一个一个来执行,也就取消了冲突的可能.这样隔离级别最高,但事务相互等待的等待长. 在实用,也不是很多.

设置事务的级别

set session transaction isolation level read uncommitted;

MySQL事务

标签:串行化   ssi   一致性   通过   重复   mil   session   SQ   相互   

原文地址:https://www.cnblogs.com/aaron911/p/8386263.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!