MySQL学习笔记
云雀轻见
通过博客记录思维过程
展开
-
MySQL——日志系统
redo log(重做日志)首先,明确redo log是innodb存储引擎层面的日志文件,当我们对数据进行更改操作之后,innoDB会将记录先记录在redo log中,然后更新内存,这样我们的更改操纵也就算完成了,然后存储引擎会在一个合适的时机,将更改数据写入磁盘,这个时间一般在比较空闲的时候。redo log是固定大小的,意思就是我们不能无限的向redo log里面写记录,当写满的时候,我们需要擦除redo log,redo log是循环输入的,我们可以将它理解为一个循环队列,一个标志位叫write原创 2020-06-02 23:19:55 · 204 阅读 · 0 评论 -
Mysql基础架构
Mysql基础架构客户端客户端可以是JDBC代码工具、可视化工具或是命令行,我们通过客户端提交URL、用户名和密码等信息连接器连接器负责和客户端建立连接、获得权限,维护和管理连接,连接器用从我们在客户端输入的信息与数据库进行连接查询缓存当我们与数据库建立连接之后,会首先到查询缓存查询是否之前查询过这条命令,如果没有则继续执行后续阶段但是,不推荐使用查询缓存:– 1、查询缓存的失效比较频繁,只要表更新,缓存就会清空– 2、缓存对应新更新的数据命中率比较低并且,MySQL 8.0 版本直接原创 2020-06-01 11:37:17 · 214 阅读 · 0 评论 -
索引的原理——我们为什么用B+树来做索引?
什么是索引?索引是关系数据库中对某一列或多个列的值进行预排序的数据结构,就好比书籍的目录。为什么使用索引?索引的出现其实就是为了提高数据库查询的效率,就好比书的目录,通过书的目录,我们可以快速精确找到我们想要的信息不适合索引的数据结构索引的作用是为了提高查询的效率,而可以提高查询的数据结构有很多种,我们都知道数据库选择了B+树这一数据模型作为索引的数据结构,那么为什么选择B+树,而不是其他数据结构?数组如果单从查询效率来看,数组显然是最合适的,我们都知道数组的查询速度快,但是当我们的数据库中存原创 2020-05-31 08:59:51 · 611 阅读 · 0 评论