事务
事务的四大特性ACID
-
原子性
-
一致性
-
隔离性
-
持久性
隔离性是指
当数据库上有多个事务同时执行的时候,就可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantom read)的问题,为了解决这些问题,就有了事务隔离级别这个概念
读未提交(read uncommitted):一个事务还没有提交时,它做的变更就能被别的事务看到。 读提交(read committed):一个事物提交之后,它做的变更才会被其他事务看到。 可重复读(repeatable read):一个事物执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。未提交变更对其他事务也是不可见的。 串行化(serializable):对于同一行记录,写会加“写锁”,读会加“读锁”,当出现锁冲突时,后访问的事务需要等前一个事务执行完成,才能继续执行。
简单理解
凡是出现一个请求 操作数据 一次以上都要加上 事务
长事务有潜在风险,建议尽量避免