事务的步骤:
- 客户端连接数据库服务器,创建连接时创建此用户的临时日志文件
- 开启事务之后,所有的操作都会先写入到临时日志文件中
- 所有的查询操作从表中查询,但会经过日志文件加工后才返回
- 如果事务提交则将日志文件中的数据写入到表中,否则清空日志文件
回滚点:
设置回滚点:savepoint 名字
回到回滚点:rollback to 名字
事物的四大特性:ACID
原子性 atomicity : 每个事务都是一个整体,不可再拆分。所有SQL语句要么都执行成功,要么都失败。
一致性 consistency: 事务在执行前数据库的状态与执行后数据库的状态保持一致。转账前两个人的金额是2000,转账后两个人的金额也是2000
隔离性isolation: 事务之间不应该相互影响
持久性durability:一旦事务执行成功。对数据库的修改是持久的
事务的隔离级别:
因为并发操作,多个用户同时访问同一个数据。可能引发并发访问的问题:
并发访问的问题:脏读,不可重复读,幻读。
四种隔离级别:
1.读未提交 read uncommitted
2.读已提交 read committed
3.可重复读 repeatable read
4. 串行化 serializable