sql事务概述

概念:事务是一组原子的SQL查询语句,也可以叫做一个工作单元;所谓原子的SQL也就是指,事务内的语句要么都执行,要么一句也不执行。

SQL标准定义的四种事务隔离级别:
1、READ UNCOMMITTED:即读取为提交内容,在此隔离级别,所有事务都可以看到为提交事务的结果,但读取未提交数据,又被称为脏读,故一般不用。
2、READ COMMITTED: 即读取提交内容,此隔离级别为大多数数据库系统默认事务隔离级别,一个事务在提交前,所作的任何数据改变都是不可见的,除非已经提交,这种隔离级别也支持所谓的不可重复读,用户运行同一语句两次,看到的结果却可能是不一样的。
3、REPEATABLE READ:即可重读,此事务级别解决了READ UNCOMMITTED隔离级别导致的问题,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行,不过理论上可能会导致另一问题–幻读,即当用户读取某一范围数据时,另一事务又在该范围内插入了新行,用户再次读取时会出现新的数据行。
4、SERIALIZABLE:即可串行化,此事务隔离级别是最高级别隔离级,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题,简而言之,该事务i隔离级别是在每个读的数据行上加锁。在这个级别,可导致大量的超时现象和锁竞争现象,用户很少采用此隔离级别,当然,如果用户的应用为了数据的稳定性,需要强制减少并发的花,可以选择此级别。


隔离级别 脏读 不可重复读 幻读 加锁读
read uncommitted 是 是 是 否
read committed 否 是 是 否
repeatable read 否 否 是 否
serializable 否 否 否 是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值