数据库
琦小虾
抱拳会天下英豪,煮酒论成败是非。
展开
-
数据结构技术知识总结之二——BTree
接上篇《数据结构技术知识总结之一——二叉树》二. BTree《浅谈算法和数据结构: 十 平衡查找树之B树》《MySQL索引背后的数据结构及算法原理》2.1 B-Tree 与 B+TreeB-Tree 是 2-3 树的一种变形,可以设置度数 M,每个节点上最多可以有 M 个值;根据硬盘读取时的预读原理,磁盘读取时每次从磁盘上预读 page 容量(一般为 1024 字节)的整数倍,所以对于硬盘来说,可以将度设为 1024,这样就硬盘文件的索引就建立完毕,形成了一个 B-Tree 结构;B-Tre.原创 2020-07-12 09:04:20 · 296 阅读 · 0 评论 -
数据库技术知识点总结之四——乐观锁与悲观锁
接上篇《数据库技术知识点总结之三——索引相关内容》四. 乐观锁与悲观锁参考地址:《【MySQL】悲观锁&乐观锁》《数据库并发控制 你选乐观锁还是悲观锁?》乐观锁与悲观锁是概念上的意义,主要解决的问题是对于并发冲突的检测。乐观锁本质上并不属于锁,它只是一种冲突检测机制,但被这样称呼的时间比较长,就被称为乐观锁。乐观锁允许并发的获取内容进行读写,但在提交的时候会进行并发控制。比如 A, B 同时获得了一个数据,而且都要对其进行处理,A 先提交了该条数据,B 后来也要提交该条数据,这时.原创 2020-07-09 23:08:58 · 163 阅读 · 0 评论 -
数据库技术知识点总结之三——索引相关内容
接上篇《数据库技术知识点总结之二——Mybatis》三. 索引3.1 索引数据结构原理索引在底层的数据结构用的是 B+树,它的原理见数据结构篇。3.2 聚簇索引和非聚簇索引注:参考地址《和刚入门的菜鸟们聊聊–什么是聚簇索引与非聚簇索引》《MYSQL索引:对聚簇索引和非聚簇索引的认识》《通俗易懂 索引、单列索引、复合索引、主键、唯一索引、聚簇索引、非聚簇索引、唯一聚簇索引 的区别与联系》3.2.1 聚簇索引、非聚簇索引聚簇索引规定了一个数据表的排序方式,一个数据表只能有一个聚簇索引.原创 2020-07-09 22:57:54 · 198 阅读 · 0 评论 -
数据库技术知识点总结之二——Mybatis
接上篇《数据库技术知识点总结之一——事务隔离级别》二. Mybatis2.1 MyBatis 是如何执行的?参考网址:《深入浅出Mybatis系列(十)—SQL执行流程分析(源码篇)》MyBatis 执行一次指令的过程有两个阶段,获取 Mapper与执行语句。2.1.1 获取 Mapper**SqlSession 是 MyBatis 的灵魂。**获取 Mapper 的操作也是在 SqlSession 接口中执行的。但首先应该考虑的是 SqlSession 如何创建。2.1.2 Sql.原创 2020-07-09 22:48:15 · 229 阅读 · 0 评论 -
分布式事务的实现思想
分布式事务的实现思想参考地址:《从银行转账失败到分布式事务:总结与思考》分布式事务的基本概念与本地事务类似,都保证了 ACID 特性(见[本篇第二章](# 二. 事务的特性))。随着数据的规模越来越大,就出现了对业务的解构,包括数据层面的关系型数据库的垂直、水平分表,以及服务层面的拆分,将一个大服务拆分为后单独部署,甚至同时也将数据库独立出来。这时候本地数据库事务就不能满足多个数据库、异构系统的原子性、持久性了,需要使用分布式事务的方法。通常,分布式事务只需要保证原子性,通过保证原子性来保证应用层面原创 2020-07-09 22:45:04 · 279 阅读 · 0 评论 -
数据库技术知识点总结之一——事务
一. InnoDB 事务隔离级别参考网址:《MySQL/InnoDB中的事务隔离级别》《MySQL隔离级别》《innodb当前读 与 快照读》《MySQL的InnoDB的幻读问题》1.1 数据异常现象数据异常现象主要分三种:脏读:事务 A 修改了数据但没有提交,事务 B 查询数据时可以查到事务 A 提交的数据,此时事务 A 回滚,此时事务 B 读取的数据与数据库中的数据不一致,即为脏读现象;不可重复读:事务 A 查询数据,事务 B 修改 (update 或 delete) 了数据并提原创 2020-07-09 22:34:02 · 232 阅读 · 0 评论