MySQL事务六连问 看看你会几问

2023-02-24 13:18:32 浏览数 (1)

  1. 什么是事务? 在一组(ABCD)业务逻辑操作中,要么全部成功,要么全部失败。
  2. 事务有哪些特性? ACID 4个特性 原子性:一个事务是一个不可分割的整体 一致性:一个事务前后,数据时一致性的,也称为数据完整性。 隔离性:两个事务之间的并发访问问题 持久性:事务一旦操作,不能再改变。
  3. 隔离性有哪些问题? 脏读:一个事务读到了另一个事务没有提交的数据 不可重复读:一个事务读到了另一个事务已经提交的数据(更新) 虚读/幻读:一个事务读到了另一个事务已经提交的数据(添加),理论信息
  4. 如果解决隔离性的问题? 采用隔离级别来进行问题的解决。共4种隔离级别
    1. read uncommitted 读未提交:一个事务读到了另一个事务没有提交的数据。 解决了0个问题,存在脏读、不可重复读、虚读等3个问题。
    2. read commmitted 读已提交:一个事务读到了另一个事务已经提交的数据 解决了脏读等1个问题,存在不可重复读、虚读等2个问题。
    3. repeatable read 可重复读:在一个事务中,读到的数据是一致的。 解决了脏读、不可重复读等2个问题,存在虚读等1个问题。
    4. serializable 串行化:单事务,一次只能有一个事务。 解决了脏读、不可重复读、虚读等3个问题,存在0个问题。
  5. 隔离级别的安全与性能对比? 安全:read uncommitted < read commmitted < repeatable read < serializable 性能:read uncommitted > read commmitted > repeatable read > serializable
  6. 常见数据库的默认隔离级别 mysql:repeatable read Oracle:read commmitted

0 人点赞