赞
踩
目录
引例
什么是事务
一个完整事务所具有的四大属性
为什么会出现事务
事务常见操作方式
事务隔离级别
为什么要存在隔离级别
一致性
引例
如下图,是一个火车售票系统,当客户端A发现还有一张票时,将票卖掉,还没执行更新数据库
时,客户端B发现票数大于0,又卖了一次票,A将票数更新回数据库,这样就出现了同一张票卖出
去两次的情况
CURD得满足下面4个特性,才能解决上述问题
什么是事务
一个完整事务所具有的四大属性(简称:ACID)
其实我们之前的所有的单条sql,本质在mysql中,全部各自会被以事务的方式进行提交!
自动提交是给mysql中的单挑sql设置的,即我们的默认行为
注意:如果一个事务被提交了,则不可以回退!!!
事务隔离级别
隔离级别越严格,安全性越高,但数据库的并发性能也就越低,往往需要在两者之间找一个平衡
点!!!
隔离性:mysql的内部机制,让"同时"启动,并发执行的各个事务,看到不同的数据修改(增删
改),就叫做隔离性!
隔离级别:我们作为一个事务,可以看到不同可见性的数据,程度的不同,叫做隔离级别!
为什么要存在隔离级别
为了安全和效率,安全和效率之间需要找平衡点,这不是mysql决定的,而是由用户决定的,而至
于为什么有种类繁多的隔离级别,这是因为应用场景的需要,比如某些场景下,不需要考虑安全,
只注重效率就行!
一致性
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。