打好基础
4 组 · 28 篇基础概念
5 篇MySQL中SQL与MySQL的关系
本文讲解SQL语言与MySQL数据库的关系,包括SQL的定义、分类、MySQL对SQL的扩展及两者区别。
MySQL常见数据库对比
本文对比主流数据库的特点,包括MySQL、PostgreSQL、Oracle、SQL Server等,帮助选择合适的数据库。
MySQL数据库环境与连接方式
本文讲解MySQL数据库环境搭建、常用连接方式及客户端工具,帮助快速开始MySQL开发。
MySQL数据库与表的基本概念
本文讲解MySQL中数据库和表的基本概念,包括数据库的定义、表的结构、字段与数据类型、主键与索引等核心概念。
MySQL关系型数据库概念
本文讲解关系型数据库的核心概念,包括关系模型、表间关系、ER图、范式等基础知识。
数据类型
6 篇MySQL 数据类型概述
MySQL 支持多种数据类型,包括数值、字符串、日期时间三大类,合理选择数据类型对性能和存储至关重要。
MySQL 整数类型
MySQL 提供多种整数类型,从 TINYINT 到 BIGINT 覆盖不同取值范围,合理选择可优化存储和性能。
MySQL 浮点数类型
MySQL 浮点数类型包括 FLOAT、DOUBLE 和 DECIMAL,其中 DECIMAL 用于精确计算场景如金额存储。
MySQL 字符串类型
MySQL 字符串类型包括 CHAR、VARCHAR、TEXT 等,根据数据长度和场景选择合适类型可优化存储和性能。
MySQL 日期和时间类型
MySQL 日期时间类型包括 DATE、TIME、DATETIME、TIMESTAMP 等,用于存储时间数据并支持自动更新功能。
MySQL 枚举与集合类型
MySQL 的 ENUM 类型用于单选场景,SET 类型用于多选场景,两者都能节省存储空间并保证数据一致性。
基本操作
8 篇MySQL 创建数据库
本文介绍 MySQL 中使用 CREATE DATABASE 语句创建数据库的标准语法与常用操作示例。
MySQL 创建表
本文介绍 MySQL 中使用 CREATE TABLE 语句创建数据表的标准语法、字段定义及常用约束。
MySQL 插入数据
本文介绍 MySQL 中使用 INSERT INTO 语句插入数据的标准语法与常用操作示例。
MySQL 查询数据
本文介绍 MySQL 中使用 SELECT 语句查询数据的基础语法与常用查询方式。
MySQL 更新数据
本文介绍 MySQL 中使用 UPDATE 语句更新数据的标准语法与常用操作示例。
MySQL 删除数据
本文介绍 MySQL 中使用 DELETE 语句删除数据的标准语法与常用操作示例。
MySQL 删除表
本文介绍 MySQL 中使用 DROP TABLE 语句删除数据表的标准语法与注意事项。
MySQL 删除数据库
本文介绍 MySQL 中使用 DROP DATABASE 语句删除数据库的标准语法与注意事项。
查询语句
9 篇MySQL SELECT 查询
SELECT 语句是 MySQL 最基础的查询语句,用于从数据库表中检索数据,支持指定列、表达式和别名。
MySQL WHERE 条件过滤
WHERE 子句用于过滤查询结果,支持多种比较运算符和逻辑运算符,是数据筛选的核心语句。
MySQL DISTINCT 去重
DISTINCT 关键字用于去除查询结果中的重复行,返回唯一值,支持单列和多列去重。
MySQL ORDER BY 排序
ORDER BY 子句用于对查询结果排序,支持升序 ASC 和降序 DESC,可按多列排序。
MySQL LIMIT 限制结果
LIMIT 子句用于限制查询返回的行数,常用于分页查询和获取前N条记录。
MySQL 聚合函数
MySQL 聚合函数对一组值进行计算并返回单个值,包括 COUNT、SUM、AVG、MAX、MIN 等常用函数。
MySQL GROUP BY 分组
GROUP BY 子句按指定列对数据进行分组,常与聚合函数配合使用进行分组统计。
MySQL HAVING 过滤分组
HAVING 子句用于过滤分组后的结果,与 WHERE 不同,HAVING 可以使用聚合函数进行条件过滤。
MySQL 多表连接查询
MySQL 多表连接包括 INNER JOIN、LEFT JOIN、RIGHT JOIN,用于关联多个表进行数据查询。
核心能力
4 组 · 18 篇高级查询
3 篇索引与优化
5 篇MySQL 索引基础
索引是提升查询效率的核心机制,理解索引原理和基本使用是数据库优化的基础。
MySQL 索引类型
MySQL 支持多种索引类型,包括普通索引、唯一索引、主键索引、全文索引、组合索引等,各有适用场景。
MySQL 索引优化策略
合理的索引设计是数据库性能优化的关键,需遵循最左匹配、覆盖索引、索引选择性等原则。
MySQL 查询优化
查询优化涉及SQL语句重构、避免全表扫描、合理使用索引和减少临时表,是提升性能的关键。
MySQL 执行计划分析
EXPLAIN 是分析SQL执行计划的核心工具,通过解读执行计划可发现性能瓶颈并优化查询。
事务与锁
5 篇MySQL 事务ACID特性
MySQL 事务具有 ACID 四大特性:原子性、一致性、隔离性、持久性,是数据库事务处理的基石。
MySQL 事务隔离级别
MySQL 支持四种事务隔离级别,不同级别解决不同的并发问题,默认为 REPEATABLE READ。
MySQL MVCC多版本并发控制
MVCC 是 InnoDB 实现高并发读的核心机制,通过版本链和 Read View 实现非锁定读,大幅提升并发性能。
MySQL 锁的分类
MySQL 锁机制分为全局锁、表级锁和行级锁三类,不同粒度锁影响并发性能和数据一致性。
MySQL 死锁与优化
MySQL 死锁是并发事务相互等待对方释放锁导致的阻塞,需通过预防策略和检测机制处理。
备份与恢复
5 篇MySQL 备份类型概述
MySQL 备份按不同维度分为多种类型,了解备份类型有助于制定合理的备份策略。
MySQL 逻辑备份与物理备份
逻辑备份通过导出SQL语句备份,物理备份直接复制数据库文件,各有优劣,需按场景选择。
MySQL mysqldump工具使用
mysqldump 是 MySQL 官方逻辑备份工具,支持多种参数配置,可灵活备份表、库和全库。
MySQL 二进制日志与增量备份
二进制日志记录所有数据变更操作,是实现增量备份、Point-in-Time恢复和主从复制的关键机制。
MySQL 恢复策略与实战
制定完善的恢复策略并定期演练是保障数据安全的关键,涵盖完全恢复、Point-in-Time恢复和灾难恢复。
高阶实战
4 组 · 27 篇底层原理与存储引擎
7 篇MySQL架构与存储引擎概述
MySQL采用分层架构设计,核心包括连接层、服务层、存储引擎层,存储引擎负责数据存储与提取,是理解MySQL底层原理的基础。
InnoDB存储引擎
InnoDB是MySQL默认存储引擎,支持事务、行级锁、外键,采用MVCC实现高并发,是理解MySQL底层原理的核心内容。
MyISAM存储引擎
MyISAM是MySQL早期默认存储引擎,不支持事务,采用表级锁,适合读多写少场景,理解其存储结构有助于历史系统维护。
Memory存储引擎
Memory存储引擎将数据存储在内存中,访问速度极快,适合临时数据缓存和会话管理,但服务重启数据会丢失。
存储引擎比较与选择
MySQL支持多种存储引擎,不同引擎适用于不同场景。本文对比主流引擎特性,提供选型决策依据。
Buffer Pool与LRU算法
Buffer Pool是InnoDB核心内存结构,采用改进的LRU算法管理数据页缓存,深入理解其原理对性能调优至关重要。
Redo Log与Undo Log
Redo Log和Undo Log是InnoDB事务系统的核心日志,前者保证持久性,后者支持原子性和MVCC,是理解MySQL事务原理的关键。
索引深度与性能调优
10 篇B+树索引结构
B+树是MySQL索引的核心数据结构,理解其组织方式、节点结构、查询效率对索引优化至关重要。
索引类型与适用场景
MySQL支持多种索引类型,包括主键索引、唯一索引、普通索引、全文索引等,不同类型适用于不同业务场景。
索引选择性与基数
索引选择性是衡量索引效果的关键指标,高选择性索引能有效过滤数据,低选择性索引反而增加开销。
聚簇索引与二级索引
InnoDB索引分为聚簇索引和二级索引,聚簇索引存储完整数据,二级索引存储主键值,查询时可能需要回表。
索引覆盖与回表查询
覆盖索引可避免回表查询,大幅提升查询效率。理解回表机制和索引下推是索引优化的关键技能。
索引失效场景分析
索引失效会导致查询退化为全表扫描,理解常见失效场景对性能调优至关重要,需避免不当SQL写法。
慢查询日志与分析
慢查询日志是定位性能问题的重要工具,通过分析慢查询可发现需要优化的SQL,配合pt-query-digest深入分析。
执行计划解读
EXPLAIN是分析SQL执行计划的核心工具,解读各列含义可判断索引使用情况、预估扫描行数、发现性能隐患。
索引优化原则
索引优化是数据库性能调优的核心,遵循合理原则设计索引可大幅提升查询效率,避免无效索引带来的开销。
查询性能调优技巧
查询性能调优是数据库优化的核心工作,通过SQL改写、索引优化、配置调整等手段可显著提升查询效率。
锁事务与并发控制
4 篇高可用架构与分布式实践
6 篇MySQL 主从复制与读写分离
系统讲解 MySQL 主从复制的三种模式(异步/半同步/组复制),配置步骤、读写分离实现方案及复制延迟处理。
MySQL Cluster (NDB Cluster)
深入讲解 MySQL Cluster(NDB)架构原理、数据节点管理、同步复制机制、部署配置及与 InnoDB 的对比差异。
MySQL 分布式事务与XA协议
深入讲解 MySQL XA 协议实现分布式事务的原理、两阶段提交流程、语法使用及生产环境注意事项。
MySQL 分库分表策略
系统讲解分库分表的垂直拆分、水平拆分策略,分片键选择、路由算法及中间件选型实践。
MySQL 高可用方案MHA与Orchestrator
对比讲解 MySQL 两大高可用方案 MHA 和 Orchestrator 的架构原理、故障切换流程、部署配置及生产实践要点。
MySQL ProxySQL与负载均衡
详细讲解 ProxySQL 作为 MySQL 中间件的核心功能,包括读写分离、负载均衡、连接池、查询路由的配置与实践。