1.什么是事务?
事务是一个不可分割工作单位,事务中包括诸多操作,要么都做,要么都不做。事务可大可小,在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。
2.事务的四大特性
1.原子性
事务的原子性是指事务必须是一个原子的操作序列单元,事务中包含的各项操作在一次执行过程中,只允许出现以下两种状态,全部成功执行或者全部不执行。
2.一致性
不能破坏数据库的完整性和一致性,一个事务在执行之前和执行之后,数据库都必须处于一致性状态。
3.隔离性
事务的隔离性是指在并发环境中,并发的事务是相互隔离的,一个事务的执行不被其他事务干扰。
在标准的Sql规范中,定义了四个事务隔离级别。分别是:未授权读取,授权读取,可重复读取,串行化。
4.持久性
一个事务一旦提交他对数据库中的数据变更是永久性的。
3.不考虑隔离性会产生的三个问题。
1.脏读
在一个事务处理过程中,读取了另一个未提交的事务中的数据。
2.不可重复读
数据库中的某个数据,一个事务范围内多次查询却返回了不同的数据值。这是由于在查询间隔,被另一个事务修改并提交了。
3.幻读
幻读和不可重复读都是读取了另一条已经提交的事务。所不同的是不可重复读查询的都是同一个数据项,而幻