OMG!Java高级开发岗必问知识点
目录1.Mysql2.CHAR与VARCHAR的区别?3.能说下myisam和innodb的区别吗?4.你能说下事务的基本特性和隔离级别吗?5.并发问题脏读、不可重复读、幻读?6.事务的隔离级别?7.说说自增主键、UUID?8.mysql的约束分类?9.drop、delete与tru
lix_uan lix_uan
2年前
MySQL学习总结
数据库的三大范式第一范式:每个列都不可以再拆分第二范式:在第一范式的基础上,非主键列完全依赖于主键第三范式:在第二范式上,非主键列只依赖主键,不依赖其他非主键事务的并发问题脏读:事务A读取了事务B更新的数据,然后数据B回滚,那么A读到的是脏数据不可重复读:事务A多次读取同一数据,事务B在事务A读取的过程中对数据进行了修改并提交,导致A多次读的数据
Stella981 Stella981
2年前
Redis和MySQL数据一致中出现的几种情况
1\.MySQL持久化数据,Redis只读数据redis在启动之后,从数据库加载数据。读请求:不要求强一致性的读请求,走redis,要求强一致性的直接从mysql读取写请求:数据首先都写到数据库,之后更新redis(先写redis再写mysql,如果写入失败事务回滚会造成redis中存在脏数据)2.MySQL和Redis
Wesley13 Wesley13
2年前
mysql 事务隔离级别
1. MySQL事务隔离级别,默认是可重复读(repeatableread)事务隔离级别脏读不可重复读幻读读未提交(readuncommitted)是是是不可重复读(readcommitted)否是是可重复读(repeatableread)否否是串行化(serializable)
Wesley13 Wesley13
2年前
MySQL事务与锁
事务的隔离级别SQL标准定义的4个隔离级别为:READUNCOMMITED(未提交读)事务中的修改,即使没有提交,对其他事务也都是可见的。事务可以读取未提交的数据,也被称为脏读。这个级别是隔离级别中最低的,实际情况基本不用。READCOMMITED(提交读)事务从开始直到提交之前,所做的任何修
Wesley13 Wesley13
2年前
MySQL隔离级别
事务具有ACID四种特性。但是Isolation并发可能引起如下问题:1.脏读允许读取到未提交的脏数据。2.不可重复读如果你在时间点T1读取了一些记录,在T2时再想重新读取一次同样的这些记录时,这些记录可能已经被改变、或者消失不见。3.幻读解决了不重复读,保证了同一个事务里,查询的结果都是事务开始时的状态(
Wesley13 Wesley13
2年前
MySQL的可重复读级别能解决幻读吗
引言之前在深入了解数据库理论的时候,了解到事物的不同隔离级别可能存在的问题。为了更好的理解所以在MySQL数据库中测试复现这些问题。关于脏读和不可重复读在相应的隔离级别下都很容易的复现了。但是对于幻读,我发现在可重复读的隔离级别下没有出现,当时想到难道是MySQL对幻读做了什么处理?测试:创建一张测试用的表dept:CREAT
Wesley13 Wesley13
2年前
Mysql事务隔离实现机制
今天我们来看看事务隔离的实现原理事务隔离隔离性与隔离级别当数据库上有多个事务同时执行的时候,就可能出现脏读(dirtyread)、不可重复读(nonrepeatableread)、幻读(phantomread)的问题,为了解决这些问题,就有了“隔离级别”的概念在谈隔离级别之前,你首先要知道,你隔离得越严实,效率就会
事务的ACID,隔离级别,脏读,幻读和不可重复读
事务的ACID原子性(atomicity)一个事务中执行的sql语句,要么全部成功,要么全部失败,不可能一部分成功。一致性(consistency)事务执行前和执行后数据一致,也就是说事务中的sql语句不能只执行一部分。这种请款一般发生在事务异常中断,服