MySQL基础运维-18 读懂MySQL中的执行计划(上)
上篇文章讲了数据库中最主要的几种访问路径,不同的访问路径,在执行性能上可能会存在巨大的差别。但是我们怎么知道某一个具体的 SQL 语句在执行时,采用了什么样的访问路径呢?这就涉及到 SQL 的执行计划…
目标 路径 时间 结果 信息 定位 闭环 复盘 精力 极限 稳态 框架 邮箱:linqingyang@datagov.top
上篇文章讲了数据库中最主要的几种访问路径,不同的访问路径,在执行性能上可能会存在巨大的差别。但是我们怎么知道某一个具体的 SQL 语句在执行时,采用了什么样的访问路径呢?这就涉及到 SQL 的执行计划…
大家都知道,我们使用 SQL 来访问数据库,而优化 SQL 对于保证数据库系统的高效、稳定运行,以及满足业务需求和降低成本都具有至关重要的意义。从这一讲开始,我们来系统地学习 SQL 优化。 一条 S…
这一讲我们来讨论下将 MySQL 升级到 8.0 最新版本的具体操作步骤。基于数据库的当前版本,升级的路径会有一些差异。MySQL 支持相邻两个大版本的物理升级,比如从 5.5 升级到 5.6,从 5…
在前两讲中,我分别介绍了 MySQL 和 Linux 操作系统问题排查的基本思路,提供了一些判断数据库和操作系统是否有问题的方法。这一讲我们就以一个生产环境中发生的故障为例,来看看怎么运用前面讲到的基…
MySQL 运行在具体的操作系统环境中,因此运行效率受限于底层操作系统和硬件环境。在分析数据库的问题时,我们需要同时关注操作系统整体运行情况。在操作系统层面,我们需要关注 CPU、内存、IO、文件系统…
作为一名 DBA,在使用和运维 MySQL 的十多年里,我遇到过很多各种各样的问题,比如: 平时执行很正常的一些 SQL,不知道什么原因,突然都变慢了。 数据库变得很慢,就是连接到数据库这么简单的操作…
在上一讲中,我们介绍了几种执行很快的 DDL 操作,这些 DDL 操作只需要修改元数据,因此即使表很大,也不影响执行速度。但是还有很多 DDL 操作,在执行的过程中需要读取全表的数据,或者是重建整个表…
平时我们使用 MySQL,或多或少都会遇到 DDL 的需求。比如有新业务上线,需要给现有的表添加新的字段;或者需要调整索引来优化性能;或者现有的表可能存在大量碎片,需要优化表,收缩空间。 那么对现有的…
上一讲我介绍了 mysqldump 和 MySQL Shell 的 Dump 工具。使用 mysqldump 导出的,实际上是一个 SQL 文件,将这个文件直接拿到数据库中执行,就可以完成数据导入。M…
这一讲中我会介绍MySQL 中导出数据和导入数据的一些方法,包括 传统的 mysqldump 工具 MySQL shell 提供的实例导出和导入工具 MySQL 原生支持的 LOAD DATA SEL…
不知道你平时使用各种语言编写程序访问数据库的时候,有没有遇到过内存方面的问题,确切地讲,是应用程序访问数据库时,消耗了大量的内存,甚至导致整个服务器的内存都耗尽了。 作为一名数据库的用户,我原先也写过…
不知道你在平时工作中是否遇到过乱码问题?我最早遇到的乱码问题还是刚开始学 C 语言编程时,有时候在 Console 上会输出“烫烫烫”这样的信息。在使用 MySQL 时,也遇到过各种乱码,乱码可能会以…
SQL Mode 是 MySQL 中比较特殊的一个概念,可以通过参数 sql_mode 进行设置。设置 SQL Mode 会影响数据库对 SQL 的语法支持,也会影响数据写入时的校验规则。早期的 My…
我们都知道,在关系型数据库中,数据存储在表里面,表由若干个列组成,每个列都有各自的数据类型。MySQL 数据库支持一些基本的数据类型,包括串(String)类型、数值类型、日期和时间类型,MySQL …
在第一讲中,我们使用了一个极简的配置文件,只包含了最基本的一些参数,使 MySQL 能正常运行起来,便于我们进行测试、熟悉 MySQL。但是供正式环境使用的 MySQL 就不能仅仅依赖这个基础的配置了…
今天我们来聊一聊数据库连接的一些事情。在这里,连接这个词有两个意思。 首先连接是一个动词,表示客户端连接到数据库的这个过程。 其次连接还是一个名词,表示客户端和服务器建立的一个通道,客户端的命令、SQ…
在上一讲中,我们学习了安装 MySQL 的几种方法。MySQL 安装好之后,系统默认建好了 root@localhost 用户,这个用户只能在 MySQL 服务器上登录本地的数据库。root 账号拥有…
为什么还要学数据库安装这么基础的知识? 首先,安装数据库是了解一个数据库的第一步。通过安装部署,你可以了解数据库的核心组件,数据库由哪些文件组成,服务是怎么启动和停止的。 其次,要深入掌握一门数据库技…
序言 如何学好 MySQL 运维? MySQL 是世界上最流行的开源关系型数据库之一,在各个行业中的使用非常广泛。MySQL 和 InnoDB 高性能的事务实现、数据复制技术,能满足很多行业对于数据库…