哈尔版网站建设,如何做网站文件,网站推广优化技巧,推广网站平台有哪些事务的ACID特性#xff1a; 1、Atomicity原子性 事务操作的不可分割性#xff0c;要么全部执行#xff0c;要么回滚。 2、Consistency一致性 数据库在事务处理前后处于的一致性状态。如银行转账#xff0c;两个账户转账前的状态和转账后的状态必须一致。 3、Isolation隔离… 事务的ACID特性 1、Atomicity原子性 事务操作的不可分割性要么全部执行要么回滚。 2、Consistency一致性 数据库在事务处理前后处于的一致性状态。如银行转账两个账户转账前的状态和转账后的状态必须一致。 3、Isolation隔离性 同一时刻执行多个事务一个事务的执行不能被其他事务干扰。 4、Durability持久性 持久性指一旦成功执行在系统中产生的所有变化将是永久的。 事务的隔离级别是事务并发控制的整体解决方案是综合利用各种类型的锁机制解决并发问题的整体解决方案。 首先了解一下常见的并发问题 1、脏读一个事务可以读到另一个事务未提交的数据违背了事务的隔离性原则。 2、不可重复读同一个事务内两条相同的查询语句的查询结果不一致。 3、幻读屏蔽了对其他用户修改数据的查询等到提交时发现出错了。 这三个并发问题的出现都是在前一问题的基础之上发生的 比如脏读问题可以这样理解客户A从数据库读取数据行到内存并修改但是还没有提交此时客户B也要读取这一行但是这个读取是在内存中读取的客户A未提交的数据。 不可重复读是在解决了脏读的情况下不再读取未提交的数据而是从数据库中直接读取已经提交的数据但是这样会在同一事务中产生一个问题就是两次查询的结果可能不一致比如第一次查询在客户端提交前第二次查询在客户端提交后结果这两次查询结果不一致。 幻读问题是在解决了不可重复读问题的前提下即同一事务中重复查询的结果一致但是这又会产生新的问题比如第一次查询是否存在某个用户假设不存在此时客户B插入这个用户此时这个事务的隔离界别是可重复读那么再次查询这个用户肯定还是不存在但是此时数据库中已经存在了这个用户客户再次插入的话必然会产生duplicate错误。 为了解决这些并发问题SQL定义了四种隔离级别 read uncommitted(读取未提交的数据) 可能存在 以上三种问题 read commited 读取提交的数据 解决了脏读问题 但是存在不可重复读和幻读 repeated read 可重复读 解决了脏读和不可重复读但是存在幻读现象 serializable 串行化 解决了脏读不可重复读和幻读现象但是发生了锁等待现象降低了事务间的并发访问性能。转载于:https://www.cnblogs.com/maydow/p/4897072.html