MySQL 锁

2021-03-29
阅读 4 分钟
1.8k
S锁:事务A对记录添加了S锁,可以对记录进行读操作,不能做修改,其他事务可以对该记录追加S锁,但是不能追加X锁,需要追加X锁,需要等记录的S锁全部释放。X锁:事务A对记录添加了X锁,可以对记录进行读和修改操作,其他事务不能对记录做读和修改操作。

MySQL事务

2021-03-29
阅读 4 分钟
1.4k
ThreshACID 特性在关系型数据库管理系统中,一个逻辑工作单元要成为事务,必须满足这 4 个特性,即所谓的 ACID: {代码...} 原子性原子性:事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。修改 ---> Buffer Pool修改 ---> 刷盘。可能会有下面两种情况:事务提交了,如果此时Buffer Pool...

MySQL 查询优化

2021-03-26
阅读 4 分钟
1.6k
Thresh慢查询定位开启慢查询日志查看 MySQL 数据库是否开启了慢查询日志和慢查询日志文件的存储位置的命令如下: {代码...} 通过如下命令开启慢查询日志: {代码...} 查看慢查询日志文本方式查看直接使用文本编辑器打开slow.log日志即可。 {代码...} 使用mysqldumpslow查看MySQL 提供了一个慢查询日志分析工具mysqldumps...

MySQL 索引分析与优化

2021-03-26
阅读 4 分钟
5.7k
MySQL 提供了一个 EXPLAIN 命令,它可以对 SELECT 语句进行分析,并输出 SELECT 执行的详细信息,供开发人员有针对性的优化。

MySQL索引原理二 索引原理

2021-03-25
阅读 3 分钟
3.2k
Thresh {代码...} 索引涉及的理论知识:二分查找法、Hash和B+Tree。二分查找法二分查找法也叫作折半查找法,它是在有序数组中查找指定数据的搜索算法。 {代码...} 首先定位left和right两个指针计算(left+right)/2判断除2后索引位置值与目标值的大小比对索引位置值大于目标值就-1,right移动;如果小于目标值就+1,left移...

MySQL索引原理一 索引类型

2021-03-25
阅读 2 分钟
3.4k
Thresh概述索引可以提升查询速度,会影响where查询,以及order by排序。MySQL索引类型如下: {代码...} 普通索引最基本的索引类型,基于普通字段建立的索引,没有任何限制。创建普通索引的方法如下: {代码...} 唯一索引与"普通索引"类似,不同的就是:索引字段的值必须唯一,但允许有空值。在创建或修改表时追加唯一约...

MySQL Binlog日志

2021-03-24
阅读 3 分钟
10.3k
Redo Log 是属于InnoDB引擎所特有的日志,而MySQL Server也有自己的日志,即 Binary log(二进制日志),简称Binlog。

MySQL Redo Log 重做日志

2021-03-23
阅读 2 分钟
5.5k
Redo Log 的生成和释放随着事务操作的执行,就会生成Redo Log,在事务提交时会将产生Redo Log写入Log Buffer,并不是随着事务的提交就立刻写入磁盘文件。等事务操作的脏页写入到磁盘之后,Redo Log 的使命也就完成了,Redo Log占用的空间就可以重用(被覆盖写入)。

MySQL Undo Log 撤销日志

2021-03-23
阅读 1 分钟
4k
数据库事务开始之前,会将要修改的记录存放到 Undo 日志里,当事务回滚时或者数据库崩溃时,可以利用 Undo 日志,撤销未提交事务对数据库产生的影响。

InnoDB 线程模型

2021-03-23
阅读 1 分钟
2.4k
ThreshMaster ThreadMaster thread是InnoDB的主线程,负责调度其他各线程,优先级最高。 {代码...} 内部有两个主处理,分别是每隔1秒和10秒处理。 {代码...} IO Thread在InnoDB中使用了大量的AIO(Async IO)来做读写处理,这样可以极大提高数据库的能。在InnoDB1.0版本之前共有4个IO Thread,分别是write,read,insert...

InnoDB 存储结构 (了解即可)

2021-03-23
阅读 4 分钟
4.4k
从MySQL 5.5版本开始默认使用InnoDB作为引擎,它擅长处理事务,具有自动崩溃恢复的特性。下面是官方的InnoDB引擎架构图,主要分为内存结构和磁盘结构两大部分。

MySQL架构四 MySQL存储引擎

2021-03-23
阅读 1 分钟
2.9k
存储引擎在MySQL的体系架构中位于第三层,负责MySQL中的数据的存储和提取,是与文件打交道的子系统,它是根据MySQL提供的文件访问层抽象接口定制的一种文件访问机制,这种机制就叫作存储引擎。

MySQL架构三 MySQL运行机制

2021-03-23
阅读 2 分钟
1.8k
②查询缓存(Cache&Buffer)这是MySQL的一个可优化查询的地方,如果开启了查询缓存且在查询缓存过程中查询到完全相同的SQL语句,则将查询结果直接返回给客户端;如果没有开启查询缓存或者没有查询到完全相同的 SQL 语句则会由解析器进行语法语义解析,并生成“解析树”。

MySQL架构二 MySQL体系架构

2021-03-23
阅读 3 分钟
5.2k
网络连接层客户端连接器(Client Connectors):提供与MySQL服务器建立的支持。目前几乎支持所有主流 的服务端编程技术,例如常见的 Java、C、Python、.NET等,它们通过各自API技术与MySQL建立连接。

MySQL架构一 MySQL应用架构演变

2021-03-23
阅读 1 分钟
1.9k
单机单库一个简单的小型网站或者应用背后的架构可以非常简单, 数据存储只需要一个MySQL Instance就能满足数据读取和写入需求(这里忽略掉了数据备份的实例),处于这个的阶段系统,一般会把所有的信息存到一个MySQL Instance里面。缺点: {代码...}