事务性质:ACID
1.原子性---所有操作要买都成功要么都失败
2.一致性---事务不能违反完整性约束(比如虽然事务还未提交,但是仍需遵守各种约束规则,这些规则是在事务提交之前而非事务提交之后)
3.隔离性---一个事务的效果,不影响正在同时执行的其它事务,那么,不影响的程度如何呢?
4.持久性---一旦事务成功完成,则数据必须保证应经持久化保存
如何实现事务:数据库日志
事务的隔离性:
1.未提交读
2.提交读
3.重复读
4.序列化
通过一些现象可以看出隔离的效果
1. 脏读:(dirty read)一个事务读取另一个事务尚未提交的修改,产生脏读:
2. 不可重复读:(nonrepeatable read)同一个查询在同一事务中多次进行,由于其他提交事务所做的修改或删除,每次返回不同的结果集,此时发生非重复读
3. 幻读:(phantom read)同一查询在同一事务中进行多次,由于其他提交事务所做的插入操作,每次返回不同的结果集,此时发生幻想读
1.原子性---所有操作要买都成功要么都失败
2.一致性---事务不能违反完整性约束(比如虽然事务还未提交,但是仍需遵守各种约束规则,这些规则是在事务提交之前而非事务提交之后)
3.隔离性---一个事务的效果,不影响正在同时执行的其它事务,那么,不影响的程度如何呢?
4.持久性---一旦事务成功完成,则数据必须保证应经持久化保存
如何实现事务:数据库日志
事务的隔离性:
1.未提交读
2.提交读
3.重复读
4.序列化
通过一些现象可以看出隔离的效果
1. 脏读:(dirty read)一个事务读取另一个事务尚未提交的修改,产生脏读:
2. 不可重复读:(nonrepeatable read)同一个查询在同一事务中多次进行,由于其他提交事务所做的修改或删除,每次返回不同的结果集,此时发生非重复读
3. 幻读:(phantom read)同一查询在同一事务中进行多次,由于其他提交事务所做的插入操作,每次返回不同的结果集,此时发生幻想读