Mysql中事物及隔离级别

什么叫事务

事务就是一组sql组成的操作单元,要么操作全部成功,要么全部失败。

创新互联建站是网站建设技术企业,为成都企业提供专业的成都网站建设、网站设计,网站设计,网站制作,网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制适合企业的网站。十多年品质,值得信赖!

ACID属性

原子性(atomicity)

一个事物必须被视为一个不可分割的最小工作单元,整个事务要么全部成功,要么全部失败回滚,对一个事物来说,不可能只执行其中的一部分操作。

一致性(consistency)

数据库总是从一个一致的状态转换到另外一个一致的状态。比如总共两个update,在第一个update后,系统崩溃了,也不会对数据有影响,因为事务没提交。

隔离性(isolation)

一个事务所做的修改在最终提交以前,对其他事务是不可见。

持久性(durability)

一旦事务提交,则所做的修改就会永久保存到数据库中。

事务隔离级别

并发事务带来的问题:

  • 脏读
    事务可以读取未提交的数据,叫脏读。
  • 不可重复读
    一个事务开始时,只能读取已经提交事务所做的修改。换句话说,一个事务从开始直到提交之前,所做的任何修改对其他事务都是不可见的。执行两次同样的查询,可能会得到不一样的结果。
  • 幻读
    是指当某个事务读取某个范围内的记录时,另外一个事务在该范围内插入了新的记录,当之前的事务再次读取该范围的记录时,会产生幻行。
隔离级别脏读可能性不可重复读可能性幻读可能性
read uncommitted Yes Yes No
read committed No Yes Yes
repeatable read No No Yes
serializable No No No

新闻标题:Mysql中事物及隔离级别
分享地址:http://scyanting.com/article/pepjoc.html