数据库
卢丹文
springboot hadoop python springmvc
展开
-
mysql 存储引擎
mysql 存储引擎。MyIsam 和InnerDB存储结构不同。myisam存储在独立的文件中.MYD (MYData),索引文件的扩展名是.MYI (MYIndex),.frm文件存储表定义。而innerdb所有的表都存储在同一个文件中。存储空间不同。MyISAM:可被压缩,存储空间较小。支持三种不同的存储格式:静态表(默认,但是注意数据末尾不能有空格,会被去掉)、动态表、压缩表。...原创 2019-05-28 12:17:39 · 71 阅读 · 0 评论 -
分布式事务的2pc方式以及3pc方式
2PC:即2 phase committee,包括准备阶段和提交阶段。这种方法把分布式事务设置为事务参与方(业务方),和事务管理方(协调方)。(1)准备阶段: 事务协调者(事务管理器)给每个参与者(资源管理器)发送Prepare消息,每个参与者要么直接返回失败(如权限验证失败),要么在本地执行事务,写本地的redo和undo日志,但不提交。(2)提交阶段:如果协调者收到了参与者的失败消息,或者...原创 2019-07-18 12:12:25 · 533 阅读 · 0 评论 -
什么叫MVCC
MVCC:Multi-Version Concurrency Control,多版本并发控制。MVCC 是一种并发控制的方法.MVCC 提供了时点(point in time)一致性视图。MVCC 并发控制下的读事务一般使用时间戳或者事务 ID去标记当前读的数据库的状态(版本),读取这个版本的数据。读、写事务相互隔离,不需要加锁。读写并存的时候,写操作会根据目前数据库的状态,创建一个新版本,并发...原创 2019-08-28 00:37:02 · 175 阅读 · 0 评论 -
脏读,不可重复读,以及幻读的定义
脏读:即一个事务读取到了另外一个事务还没提交的数据。不可重复读:即一个事务中,两次读取得到的结果不一样。例如:session1 第一次读取id为1 的user的age为1,此时session1还没结束;session2讲id为1的user的age更新为2了,并以及成功提交了事务,session1因为还没结束,再次去读取id为1的用户是,age却变为2 了。幻读:并不是指某一次数据库操作的...原创 2019-08-28 00:47:35 · 260 阅读 · 0 评论 -
聚集索引(Clustered Index)与普通索引(Secondary Index)浅析
InnoDB 的索引有哪些类型:InnoDB中一共有两种类型的索引:聚集索引(Clustered Index)、普通索引(Secondary Index)。聚集索引是怎么样生成的:InnoDB 的每一个表都会有聚集索引。如果你没手动创建,InnoDB 也会默认的帮你创建聚集索引。(1)如果表定义了 PK,则 PK 就是聚集索引;(2)如果表没有定义 PK,则第一个非空 unique...原创 2019-09-15 23:15:10 · 558 阅读 · 0 评论 -
记一次InnoDB 产生死锁的过程
InnoDB通过给索引项加锁来实现行锁,如果没有索引,则通过隐藏的聚簇索引来对记录加锁。如果操作不通过索引条件检索数据,InnoDB 则对表中的所有记录加锁,实际效果就和表锁一样由于InnoDB特殊的索引机制: 操作使用主键索引时,InnoDB会锁住主键索引;使用非主键索引时,InnoDB会先锁住非主键索引,再锁定主键索引。 会话一的语句使用了b上的索引,因为它是非主键索引,所以会先在b索...原创 2019-09-15 23:40:41 · 160 阅读 · 0 评论