MySQL 提供了四种隔离级别,分别是:
读未提交(Read Uncommitted):当一个事务正在执行时,它所做的修改对于其他事务都是可见的,即未提交的数据也可以被其他事务访问。
读已提交(Read Committed):当一个事务正在执行时,它所做的修改只有在事务提交后才会对其他事务可见,这样可以避免脏读。
可重复读(Repeatable Read):在一个事务执行期间,多次读取同一数据,得到的结果是一致的,即其他事务对该数据的修改在当前事务中不可见。
串行化(Serializable):最高的隔离级别,保证了事务的完全隔离,即其他事务无法读取或修改正在执行的事务的数据,从而避免了幻读的问题。
可以通过设置SET TRANSACTION ISOLATION LEVEL
语句来指定隔离级别,例如:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;