事务

隔离性和隔离级别

  • ACID : 原子性,一致性,隔离性,持久性

  • 隔离级别
    • 读未提交:一个事务还没提交时,它做的变更就能被别的事务看到
    • 读提交:一个事务提交后,他做的变更才会被别的事务看到
    • 可重复读:一个事务执行过程中看到的数据,总是跟这个事务在启动的时候看到的数据一致的。
    • 串行化:对于同一行记录,“写”会加“写锁”,“读”会加“读锁”。当然出现读写锁冲突时,后访问的事务必须等前一个事务执行完成,才能继续执行。
  • 在实现上,数据库里面会创建一个视图,访问的时候以视图的逻辑为准。在“可重复度”的隔离级别下,这个视图是在事务启动时创建的,整个事务存在期间都用这个视图。在“读提交”隔离级别下,这个视图是在每个SQL语句开始执行的时候创建的。