特性:ACID
原子性
一个事务中的操作要么全部执行成功,要么全部执行失败
一致性
指的是数据库总是从一个一致性状态转换成另一个一致性状态。比如A给B转账,A有500,B有300,A给B转账100,最后A400,B400,从转账前的一致状态到转账后的一致状态。
隔离性
一个事务在最终提交之前,对其他事务是不可见的
持久性
一个事务在最终提交后,所做的修改就会永久保存到数据库中
隔离级别
读未提交
一个事务可以读取另一个事务未提交的数据,会出现脏读
读提交
一个事务只能读取另一个事务已经提交的数据,回出现不可重复读
可重复读
每次读取的数据是一样的,无论第二次读的时候数据发生了变化,还是以第一次读的为准。会出现幻读。
串行化
将事务排序后执行,可防止脏读、不可重复读、幻读,但是效率会很低