公司面试必问的MySQL题目
作为单个逻辑工作单元执行的一系列操作,可以被看作一个单元的一系列SQL语句的集合。要么完全地执行,要么完全地不执行。 如果不对数据库进行并发控制,可能会产生 脏读、非重复读、幻像读、丢失修改的异常情况。 事务的特性(ACID) A, atomacity 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。 C, consistency 一致性 事务将数据库从一种一致状态转变为下一种一致状态。也就是说,事务在完成时,必须使所有的数据都保持一致状态(各种 constraint 不被破坏)。 I, isolation 隔离性 由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。换句话说,一个事务的影响在该事务提交前对其他事务都不可见。证1-6所有过程要么都执行,要么都不执行。如果异常了那么回滚。 一致性 转账前,A和B的账户中共有500+500=1000元钱。转账后,A和B的账户中共有400+600=1000元。 隔离性 在A向B转账的整个过程中,只要事务还没有提交(commit),查询A账户和B账户的时候,两个账户里面的钱的数量都不会有变化。 持久性 一旦转账成功(事务提交),两个账户的里面的钱就会真的发生变化 02什么是脏读?幻读?不可重复读?什么是事务的隔离级别?Mysql的默认隔离级别是?
Read uncommitted 读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。 Read committed
读提交,顾名思义,就是一个事务要等另一个事务提交后才能读取数据。 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |