m ysql事物的隔离级别
时间: 2023-06-24 15:06:31 浏览: 69
MySQL支持四种隔离级别,分别是:
1. 读未提交(Read Uncommitted):一个事务可以读取另一个事务未提交的数据,可能会导致脏读、不可重复读、幻读等问题。
2. 读已提交(Read Committed):一个事务只能读取另一个事务已经提交的数据,解决了脏读的问题,但可能会导致不可重复读、幻读等问题。
3. 可重复读(Repeatable Read):在一个事务执行期间,多次读取同一数据会得到相同结果,解决了不可重复读的问题,但可能会导致幻读的问题。
4. 序列化(Serializable):最高的隔离级别,所有事务串行执行,避免了脏读、不可重复读和幻读等问题,但会对性能产生较大影响。
可以通过设置`SET TRANSACTION ISOLATION LEVEL`语句来指定隔离级别。默认隔离级别为可重复读。
相关问题
m ysql默认隔离级别
MySQL 默认的隔离级别是可重复读(Repeatable Read)。这意味着在一个事务中,多次读取同一行数据会返回相同的结果,即使在此期间其他事务也对该行进行了修改。这是通过在事务开始时对所有读取的数据进行快照来实现的。其他隔离级别包括读未提交(Read Uncommitted)、读已提交(Read Committed)和串行化(Serializable)。您可以使用 `SET SESSION TRANSACTION ISOLATION LEVEL` 命令来更改隔离级别。
m ysql事物的4个特性
MySQL事务具有四个特性,通常称为ACID特性,它们分别是:
1. 原子性(Atomicity):事务是一个原子操作,它要么全部执行,要么全部不执行。如果在事务执行过程中发生错误,所有对数据库的修改都将被回滚,就好像从来没有进行过任何修改一样。
2. 一致性(Consistency):事务的执行不会破坏数据库的完整性和一致性。在事务开始和结束时,数据库都必须处于一致的状态。
3. 隔离性(Isolation):多个事务同时执行时,每个事务都应该被隔离开来,不会相互影响。这样可以避免并发执行事务时出现不一致的情况。
4. 持久性(Durability):一旦事务提交,其所做的修改就应该永久保存在数据库中,即使系统崩溃或进行了重启操作,修改的结果也应该不受影响。