合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
## 特性 * 原子性:强调事务的不可分割,多条SQL要么都成功,要么都失败. * 一致性:强调的是事务的执行前后,数据要保持一致. * 隔离性(两个事务的关系):一个事务的执行不应该受到其他事务的干扰. * 持久性:事务一旦结束(提交/回滚),数据就持久保持到了数据库 . ## 如果不考虑事务的隔离性,引发一些安全问题 * 脏读:一个事务读到另一个事务还没有提交的数据. * 不可重复读:一个事务读到了另一个事务已提交的update数据,导致在当前的事务中多次查询结果不一致. * 幻读/虚读:一个 事务读到另一个事务已经提交的insert的数据,导致在当前事务中多次的查询结果不一致 . ## 解决引发的读问题 数据库提供了四种隔离级别. 级别越高,越安全,效率越低. * 1 read uncommitted : 未提交读,脏读 ,不可重复读,虚度都可能发生. * 2 read committed : 已提交读,避免脏读,但是不可重复读和虚读都有可能发生(oracle默认). * 4 repeatable read :可重复读,避免脏读,不可重复读,但是虚读有可能发生(mysql默认). * 8 serializable :串行化的,避免脏读,不可重复读,虚读的发生.