标签:mysql

数据库

MySQL Binlog 核心知识点

1 binlog介绍 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方...

阅读(134)赞 (0)

数据库

研发应该懂的mysql binlog知识(下)

2

引言 这篇是《研发应该懂的binlog知识(上)》的下半部分。在本文,我会阐述一下binlog的结构,以及如何使用java来解析binlog。 不过,话说回来,其实严格意义上来说,研发应该还需要懂如何监听binlog的变化。我本来也想写这块的知识,但是后来发现,这块讲起来篇幅过长...

阅读(139)赞 (0)

数据库

研发应该懂的mysql binlog知识(上)

1

引言 为什么写这篇文章? 大家当年在学MySQL的时候,为了能够迅速就业,一般是学习一下MySQL的基本语法,差不多就出山找工作了。水平稍微好一点的童鞋呢还会懂一点存储过程的编写,又或者是懂一点索引的创建和使用。但是呢,基本上大家都忽略了对底层知识的学习。为什么呢?因为工作中很少...

阅读(182)赞 (0)

数据库

POLARDB · 理论基础 · 敢问路在何方 — 论B+树索引的演进方向(上)

8

前言 B+树是上世纪70年代针对硬盘和单核处理器设计的。为了减少机械硬盘的寻道次数,它采用多叉树结构,降低了索引结构的深度,减少了外存访问延迟对性能的影响。因为B+树在单键值和范围查找操作等方面具有良好的性能,所以它作为索引结构的构建模块,在长达四十多年的各类大型系统发展历程中发...

阅读(156)赞 (0)

数据库

MySQL status 详解

MySQL 提供了一些列的状态用来帮助我们诊断服务状况,有些状态非常有用,可以帮助我们快速定位服务异常,比如最大连接数,当前连接数等等,下表详细列举了所有的状态以及他们的详细解释,具体见官方文档: https://dev.mysql.com/doc/refman/8.0/en/s...

阅读(123)赞 (0)

数据库

MySQL system variable 详解

MySQL system variable 提供了 MySQL 服务器的常用配置项,为 MySQL 的日常问题诊断、排查、性能调优提供了非常灵活的选择,具体见官方文档: https://dev.mysql.com/doc/refman/8.0/en/server-system-v...

阅读(135)赞 (0)

数据库

MySQL explain 查询计划详解

MySQL EXPLAIN命令是查询性能优化不可缺少的一部分,该文主要讲解explain命令的使用及相关参数说明。 EXPLAIN Output Columns 列名 说明 id 执行编号,标识select所属的行。如果在语句中没子查询或关联查询,只有唯一的select,每行都将...

阅读(164)赞 (0)

数据库

MySQL InnoDB MVCC实现原理

4

数据多版本(MVCC)是MySQL实现高性能的一个主要的方式,InnoDB为了实现多版本的一致读,采用的是基于回滚段的协议。通过对普通的SELECT不加锁,直接利用MVCC读取指版本的值,避免了对数据重复加锁的过程,今天我们就用最简单的方式,来分析下MVCC具体的原理,先解释几个...

阅读(146)赞 (0)