概念
事务是一系列对系统中数据进行访问与更新操作所组成的程序执行逻辑单元。
事务的特点
原子性,一致性,隔离性,持久性
原子性:事务是一个整体,它要么所以操作全部执行,要么所有操作全部不执行
一致性:事务在执行过程中它的数据对其他事务是一致的。也就是说事务在执行过程中,修改的数据在事务结束前保持一致。
隔离性:并发事务操作同一个数据时,每个事务都有各自完整的数据空间。
持久性:事务提交之后,修改的数据会被保持在磁盘中永久存储下载。
事务并发导致的问题
脏读 不可重复读 幻读
脏读:A事务读到了B事务修改后的数据。但是B事务没有提交并且B事务因为某种原因执行了回滚。那么A事务读到的数据就是脏数据。
不可重复读:同⼀条命令返回不同的结果集(更新)。A事务先读取了a数据,之后B事务修改了a数据提交之后,A事务再一次读取了a数据。这样的结果是两次读到的a数据并不相同
幻读:重复查询的过程中,数据就发⽣了量的变化。
事务的隔离级别
读未提交:事务在未提交前,其他事务可以访问该事务修改的数据。会导致脏读、不可重复读和幻读
读已提交:事务执⾏的时候只能获取到已经提交的数据。会导致不可重复读和幻读
可重复读:事务在执行过程中读到的同一数据保持不变。会导致幻读
顺序读:同一时间只允许一个事务执行。没有并发问题但是效率最低