MySQL 13 为什么表数据删掉一半,表文件大小不变?
一个InnoDB表包含两部分:表结构定义和数据。在MySQL 8.0版本前,表结构存在以.frm为后缀的文件里。之后的版本允许把表结构定义放在系统数据表中。由于表结构定义占用空间很小,所以主要讨论表...
INNER JOIN, LEFT JOIN, RIGHT JOIN 的区别
今天我们来一起探索下 JOIN,JOIN 作为数据库操作的核心概念,用于合并两个或多个表中的数据。 一、JOIN (INNER JOIN) 1、基本功能:返回两个表中匹配成功的行。 2、特点: 只保留两表中都...
MySQL 08 详解read view:事务到底是隔离的还是不隔离的?
场景引入 我们知道,在可重复读的隔离级别下,一个事务A启动的时候会创建一个read view,之后在这个事务A执行期间,即使其他事务修改数据,事务A看到的仍然和启动时相同。 考虑一个问题,假如该...
MySQL 04 深入浅出索引(上)
索引的常见模型 实现索引的方式有很多种,这里先介绍三种常见结构:哈希表、有序数组和搜索树。 哈希表:只适用于只有等值查询的场景。 有序数组:在等值查询和范围查询场景中的性能都非常优秀...
16. MySQL 多版本并发控制
16. MySQL 多版本并发控制 @ 目录 16. MySQL 多版本并发控制 1. 什么是MVCC 2. 快照读与当前读 2.1 快照读 2.2 当前读 3. 复习 3.1 再谈隔离级别 3.2 隐藏字段、Undo Log版本链 4. MVCC实现原理...
在 OceanBase 中,如何应对存储引擎的读放大问题?
首先为大家推荐这个 OceanBase 开源负责人老纪的公众号 “老纪的技术唠嗑局”,会持续更新和 #数据库、#AI、#技术架构 相关的各种技术内容。欢迎感兴趣的朋友们关注! 前言 OceanBase 的 LSM-Tr...
MySQL 查询语句的执行顺序
整理了下MySQL查询语句的执行顺序。 (1) FROM (2) ON (3) JOIN (4) WHERE (5) GROUP BY (6) WITH (CUBE|ROLLUP) (7) HAVING (8) SELECT (9) DISTINCT (10) ORDER BY (11) LIMIT (1) FROM 子句...
linux备份mysql到另一个linux,异地定时备份
163,备份服务器 165,mysql服务器 使用NFS文件共享 ubuntu系统 mysql8 首先确认服务器版本 uname -a 或者 uname -r 确认为ubuntu系统 安装nfs nfs分为服务端(实际文件储存的服务器163)和客户...
MySQL 12 为什么我的MySQL会“抖”一下?
一条SQL语句,正常执行时候特别快,但有时会变得特别慢,且这种情况很难复现,随机且持续时间很短,看上去像是“抖”了一下。 你的SQL语句为什么变“慢”了 在MySQL 02中,介绍了WAL机制,InnoD...
MySQL 11 怎么给字符串字段加索引?
场景引入 假设现在维护一个支持邮箱登录的系统,用户表定义如下: create table SUser(ID bigint unsigned primary key,email varchar(64), ... )engine=innodb; 由于登录方式为邮箱,那么一定...