/images/avator.png

xingliuhua

不见其增,日有所长。

MySQL-15 分库分表与分区

1. 为什么要分库分表 1.1 单机 MySQL 的瓶颈 单机 MySQL 在数据量和并发量达到一定规模后,会遇到以下瓶颈: 性能瓶颈: 单表数据量超过 2000 万行后,B+Tree 高度增加

MySQL-14 分布式事务

1. 为什么需要分布式事务 1.1 问题场景 单机 InnoDB 事务能保证同一数据库内的 ACID。但在微服务架构下,一次下单操作可能跨越多个独立服务、独立数据库: 用户

MySQL-13 Go 开发实战

1. 驱动与框架选择 1.1 生态全景 驱动层(必须): github.com/go-sql-driver/mysql 最主流,go-sql-driver github.com/pingcap/tidb/... TiDB 官方驱动(兼容 MySQL) 增强 SQL 库: github.com/jmoiron/sqlx database/sql 的薄封装,保留 SQL 控

MySQL-11 配置参数详解

1. 配置文件结构 1.1 配置文件位置 # MySQL 按以下顺序读取配置文件 /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf # 查看 MySQL 读取了哪些配置文件 mysql --verbose --help | grep "Default options" -A 1 # Docker 中挂载配置 docker run ... -v /host/my.cnf:/etc/mysql/conf.d/custom.cnf mysql:8.0 1.2 配置文

MySQL-10 高可用架构

1. 高可用架构概览 方案对比: 单机 → 无 HA,测试/开发用 主从复制 → 读写分离,异步,主库故障需手动切换 主从 + MHA → 自动故障转移,秒级切换 MGR(组复

MySQL-09 查询优化与执行计划

1. 优化工作流 慢查询 → 找到 SQL → EXPLAIN 分析 → 找出瓶颈 → 针对性优化 → 验证 发现慢 SQL 的途径: 1. 慢查询日志(long_query_time = 1) 2. performance_schema.events_statements_summary_by_digest 3. show pr

MySQL-08 日志系统

1. 日志系统全景 日志分类: InnoDB 特有: Redo Log ── 物理日志,持久性(D),WAL Undo Log ── 逻辑日志,原子性(A)+ MVCC(I) MySQL Server 层: Binlog ── 逻辑日志,

MySQL-06 事务与 MVCC

1. ACID 原理 1.1 Atomicity(原子性) 定义:事务中的所有操作,要么全部成功,要么全部回滚,不存在中间状态。 实现:Undo Log Undo Log 记录了数据修改

MySQL-05 索引原理与优化

1. 为什么需要索引 假设 users 表有 1000 万行数据: -- 无索引:全表扫描,扫描 1000 万行 SELECT * FROM users WHERE email = 'alice@example.com'; -- 有索引:B+Tree 查找,约 log₂(10000000

MySQL-04 数据类型详解

1. 整数类型 1.1 类型一览 类型 字节 有符号范围 无符号范围(UNSIGNED) TINYINT 1 -128 ~ 127 0 ~ 255 SMALLINT 2 -32768 ~ 32767 0 ~ 65535 MEDIUMINT 3 -8388608 ~ 8388607 0 ~ 16777215 INT 4 -2147483648 ~ 2147483647 0 ~ 4294967295 BIGINT 8 -2

MySQL-03 SQL 语法大全

1. DDL 数据定义语言 1.1 数据库 -- 创建 CREATE DATABASE IF NOT EXISTS myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 修改字符集 ALTER DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 删除 DROP DATABASE IF EXISTS myapp; -- 查看建库语句 SHOW CREATE DATABASE myapp; 1.2 表操作 -- 创建表 CREATE TABLE IF

MySQL-02 架构深度解析

1. 整体架构概览 ┌──────────────────────────────────────────────────────────────

MySQL-01 概述与快速上手

1. MySQL 简介与版本演进 MySQL 是世界上最流行的开源关系型数据库,由瑞典 MySQL AB 公司开发,后被 Sun 收购,最终归入 Oracle 旗下。社区维护的分支 MariaDB 由 MySQL 创始人 Monty Widenius 主导,兼

pgsql-04 表的创建与管理

1. 📖 概述 本章介绍PostgreSQL中表的创建、修改和管理,并与MySQL进行详细对比。 2. 🏗️ 创建表 2.1 基本语法 -- PostgreSQL CREATE TABLE users ( id SERIAL PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE,