MySQL基础篇

事务的概念

  • 事务是数据库并发控制的基本单位
  • 事务可以看作是一系列SQL语句的集合
  • 事务必须要么全部成功,要么全部执行失败(回滚)

事务的四个基本特性 (ACID)

  • 原子性(Atomicity):一个事务中所有操作全部完成或失败
  • 一致性(Consistency):事务开始和结束之后数据完成性没有被破坏
  • 隔离性(Isolation): 允许多个事务同事对数据库修改和读写
  • 持久性(Durability):事务结束后,修改是永久的,不会丢失

事务的隔离性

如果不对事务进行并发控制,可能出现的异常

  1. 幻读:一个事务第二次查询,查出第一次没有的结果
  2. 非重复读:一个事务冲浓度度两次得到不同的结果
  3. 脏读:一个事务读取到另一个事务未提交的修改
  4. 丢失修改:并发写入造成其中的一些修改丢失

事务的四个隔离级别

  • 读未提交:别的事务可以读到未提交的修改
  • 读已提交:只能读取到已经提交的数据
  • 可重复读:同一个事务前后查询结果一样
  • 串行化:事务完全串行话,隔离级别最高,执行效率最低

InnoDB 和 MyISAM 区别

  1. MyISAM 不支持事务,InnoDB 支持
  2. MyISAM 不支持外键,InnoDB 支持
  3. MyISAM只支持表锁,InnoDB支持行所和表锁

你可能感兴趣的:(MySQL基础篇)