当前位置:主页 > 查看内容

mysql面试

发布时间:2021-06-12 00:00| 位朋友查看

简介:事物的四个特征ACID 原子性(Atomic) 事务中的所有操作要么全都执行要么全都不执行。 一致性(Consistency)事务前后数据的完整性必须保持一致。比如A向B转账不可能A扣了钱B却没收到。 隔离性(Isolation)并发的事务之间不会相互影响 持久性(Durability)一旦事务……

事物的四个特征(ACID)

  1. 原子性(Atomic): 事务中的所有操作,要么全都执行,要么全都不执行。
  2. 一致性(Consistency):事务前后数据的完整性必须保持一致。比如A向B转账,不可能A扣了钱,B却没收到。
  3. 隔离性(Isolation):并发的事务之间不会相互影响
  4. 持久性(Durability):一旦事务提交之后,所做的修改将会永久保存在数据库上。

隔离(并发)问题

  1. 脏读(Dirty Read):一个事务读取了另一个事务修改了但是未提交的数据。
  2. 不可重复读(Nonrepeatable Read):一个事务读到另一个事务已提交的数据(update)。
    事务 A多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。
  3. 虚读(幻读)(Phantom Read):一个事务读到另一个事务已提交的数据(insert)。
    系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,就好像发生了幻觉一样,这就叫幻读。

隔离级别

在这里插入图片描述
??解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表

??事务隔离级别为串行化时,读写数据都会锁住整张表。

??隔离级别对应所能解决的隔离(并发)问题。

??隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大。

??mysql默认的事务隔离级别为repeatable-read

数据库锁

三范式

范式的英文Normal Form,简写NF

  1. 第一范式:每一项数据都是不可拆分的数据项。
  2. 第二范式:每一个非主属性,完全依赖于任何一个候选码。
  3. 第三范式:每一个非主属性,既不传递依赖,也不部分依赖于码。
;原文链接:https://blog.csdn.net/root_zhb/article/details/115567741
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:数据库之概述模型: 对象模型 + 关系模型 下一篇:没有了

推荐图文


随机推荐