首先,事务是什么?
事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些 操作要么都执行,要么都不执行,它是一个不可分割的工作单位。
事务是数据库维护数 据一致性的单位,在每个事务结束时,都能保持数据一致性。
其次,事务的具有的四大特性:
首先,事务应该具有 4 个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID 特性。
然后谈一谈他的隔离级别,一共有四个:
一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。(对数据库的并行执行,应该像串行执行一样)
未提交读(READ UNCOMMITED)脏读
已提交读 (READ COMMITED)不可重复读
可重复读(REPEATABLE READ)
可串行化(SERIALIZABLE)
其中,不同级别会产生不同的问题,比如脏读,幻读,重复读等问题,Mysql数据库默认是可重复读,串行化可以解决所有问题。