MySQL中一共有 7 种日志,多数人只知道其中的 3 种。最近我在面试一个 DBA 时,得知一共有 7 种日志文件,今天我们一起来看看这些日志文件都有哪些作用,以帮助大家理解 MySQL 中的事物以及事物背后的原理。!MySQL中有七种日志文件,分别是:重做日志(redo log)回滚日志(undo log)二进制日志(binlog)错误日志(errorl ......
518
0
0
2022-12-10
概述什么是索引一本书 500 页的书,如果没有目录,直接去找某个知识点,可能需要找一会儿,但是借助前面的目录,就可以快速找到对应知识点在书的哪一页。这里的目录就是索引。所以,为什么会有索引?为了提高数据查询效率。常见索引算法最简单也最容易想到的索引算法就是有序数组了,我们创建一个数组,数组按照顺序排列,我们要查找某一条记录,使用二分法就可以快速得到(log ......
407
0
0
2022-12-10
日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志( binlog )和事务日志(包括 redo log 和 undo log ),本文接下来会详细介绍这三种日志。binlogbinlog 用于记录数据库执行的写 ......
408
0
0
2022-12-09
看如下一条sql语句:# table T (id int, name varchar(20)) delete from T where id = 10; MySQL在执行的过程中,是如何加锁呢?在看下面这条语句:select * from T where id = 10; 那这条语句呢?其实这其中包含太多知识点了。要回答这两个问题,首先需要了解一些知识 ......
346
0
0
2022-12-09
背景考虑下面两个并发带来的问题:1、丢失更新:一个事务的更新结果覆盖了其它事务的更新结果,即所谓的更新丢失。2、脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:两个用户同时修改商品库存表,A、B同时进入,看到的库存都是100,A购买一件把库存修改为99(100-1)。此时B购买两件把库存修改为98(100-2),因为A、B同时读到的库存都 ......
358
0
0
2022-12-09
前 言 🍉 作者简介:半旧518,长跑型选手,立志坚持写10年博客,专注于java后端 🍌 专栏简介:mysql进阶,主要讲解mysql数据库进阶知识,包括索引、数据库调优、分库分表等 🌰 文章简介:本文将介绍数据库优化的步骤、思路、性能分析工具,比如慢查询、EXPLAIN,SHOW PROFILING等,并且对各个工具执行性能分析结果性能参数都有详细的介绍 ......
422
0
0
2022-12-07
前 言🍉 作者简介:半旧518,长跑型选手,立志坚持写10年博客,专注于java后端1、索引的声明与使用1.1. 索引的分类先介绍下索引的分类,方便后续介绍索引的创建与设计。按照功能逻辑划分,索引主要有:普通索引、唯一索引、主键索引、全文索引、空间索引(并非所有数据库都有空间索引)按照物理实现划分,索引主要有:聚簇索引、非聚簇索引。按照作用字段个数划分,索引 ......
317
0
0
2022-12-06
前言前面我们已经剖析了mysql中InnoDB与MyISAM索引的数据结构,了解了B+树的设计思想、原理,并且介绍了B+树与Hash结构、平衡二叉树、AVL树、B树等的区别和实际应用场景。页和页之间并不一定在物理上相连,只是在逻辑上使用双向链表关联。指针、记录究竟是如何存储的呢?其实这就需要联系我们之前提到的行格式了。数据查找在页目录中二分法快速定位到槽,上 ......
351
0
0
2022-12-06
深度讲解索引的数据结构:B+树1.索引介绍1.1 为什么使用索引1.2 索引的优缺点2.从零开始设计索引2.1没有索引时怎么查询数据2.2 基于页的目录项的简单索引2.3 InnoDB索引设计方案2.3.1 迭代1:目录项的数据页(目录页)2.3.2 迭代2:多个目录页2.3.3 迭代3:目录页的目录页3.索引类型3.1.聚簇索引3.2 二级索引3.3 联合 ......
337
0
0
2022-12-06
InnoDB 是怎么存储数据的InnoDB 是怎么存储数据的?数据目录 -> 聚簇索引 -> 页 -> 行格式 -> 独立表空间 -> 区,组,段 -> 系统表空间……数据目录众所周之,MySQL 的数据是存储在硬盘中的,而操作系统管理硬盘中的数据的方式就是文件系统,所以通俗的来说,MySQL 中的数据是存在一个个文件中的 ......
403
0
0
2022-11-28
MySQL 事务之前对事务的了解仅限于知道要么全部执行,要么全部不执行,能背出 ACID 和隔离级别,知其然但不知其所以然,现在觉得非常有必要系统学一下,关于事务,关于 LBCC,关于 MVCC,关于死锁 ……并发的问题所谓 事务 是用户定义的一个 数据库操作序列, 这些操作要么全做,要么全不做,是一个不可分割的工作单位,在关系型数据库中,一个事务可以是一条 ......
398
0
0
2022-11-28
1.事务的概念事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务。2.事务的特性(ACID)1)原子性:事务中的若干个操作只有两种结果,全部成功和全部失败(“全部失败”不是指全部步骤都失败了,而是一旦中间某个步骤执行出错,就把前面已经执行完毕的步骤回滚回去)2)一致性:执行 ......
334
0
0
2022-11-28
MySQL约束1.主键约束(primary key)——PK2.自增长约束(auto_increment)3.非空约束(not null)4.唯一约束(unique)5.默认约束(default)6.零填充约束(zerofill)7.外键约束(foreign key)——FKMySQL约束——非空约束(not null)a.非空约束方式一:创建表时指定语法: ......
500
0
0
2022-11-24
一、简介pt-query-digest是用于分析mysql慢查询日志的工具,它还可以分析来自“SHOW PROCESSLIST”和MySQL的查询 tcpdump中的协议数据。我们可以把分析日志输出到指定的文件中,通过分析日志文件做对应的优化等操作。二、下载并且安装根据不同的系统安装,我的系统是centos,所以直接选择centos安装,点击下载直接使用yu ......
417
0
0
2022-11-24
4. 约束4.1 概述概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据库中数据的正确、有效性和完整性。分类:注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。4.2 约束演示上面我们介绍了数据库中常见的约束,以及约束涉及到的关键字,那这些约束我们到底如何在创建表、修改表的时候来指定呢,接下来我们就通过一个案例,来 ......
385
0
0
2022-11-23