MySQL提升课程:从架构认知到性能调优的系统训练
电商大促的场景里,数据库往往是那个"看不见的瓶颈"。流量洪峰到来时,订单表的数据量指数级增长,查询响应变慢,事务排队,甚至直接拖垮服务。这门课用双11作为切入点,帮你理解数据库在高并发、大数据量环境下的真实表现,以及什么因素在背后决定了系统的成败。
课程首先通过实例拆解大表和大事务带来的具体问题——数据量膨胀后索引效率下降、事务锁竞争加剧、IO压力集中。这些问题不是理论概念,而是日常运维中真正会踩到的坑。接下来课程系统讲解影响MySQL性能的各个维度:硬件配置(CPU、内存、磁盘选型)、操作系统参数调优、文件系统选择,以及MySQL本身的体系结构和存储引擎特性。这部分内容覆盖了从服务器底层到数据库内核的完整链路,适合需要独立排查性能问题的工程师。
InnoDB存储引擎的深入讲解是课程的重点之一,包括其事务处理、锁机制、缓冲池管理等核心特性。这些知识直接关联到线上问题的定位能力——比如为什么某个慢查询会触发大量锁等待,为什么某些写入模式会导致Buffer Pool命中率下降。
适合有基础、想系统提升的开发者
课程适合已经掌握MySQL基本操作(建表、增删改查、简单索引使用),但在性能优化方面缺乏系统认知的工程师。不需要你精通高可用架构或分布式数据库,但需要你有过实际生产环境的查询经验,能理解"慢查询"不是靠加索引就能全部解决的问题。
前置知识:基本的SQL编写能力、对事务隔离级别有概念性理解、知道索引是什么以及如何使用EXPLAIN查看执行计划。如果这些都清楚,课程的推进节奏会比较顺畅。
建议学习路径:先建框架,再补细节
第一章的4节试看内容可以快速过一遍,重点是建立"性能问题有多维原因"的认知框架——不只是代码写得慢,硬件、OS、引擎选择都会影响结果。第二章的存储引擎对比部分(MyISAM、InnoDB、Archive等)建议对照实际项目中的表结构理解,不要死记硬背各自特性,而是思考"我的业务场景为什么选了这个引擎"。
硬件和操作系统优化章节(2-1到2-10)信息量较大,可以作为查阅手册快速浏览,重点记录关键参数名和调优方向。等你在实际工作中遇到具体的磁盘IO瓶颈或内存不足问题时,再回来对照课程中的优化策略深入理解。
InnoDB特性两节(2-14至2-15)是核心,建议配合官方文档和实际测试反复研读。课程中关于缓冲池、红日志、 change buffer 的讲解,能帮你理解为什么某些写入模式在特定配置下性能差异巨大。
学完能独立做什么
完成课程后,你应该能够:分析一个慢查询背后的多维原因(不只是SQL写错了),评估服务器硬件配置是否合理,根据业务特点选择合适的存储引擎,理解InnoDB的核心工作机制并据此调优参数。这些能力直接对应线上故障排查和架构设计中的常见决策点。
练习方面,建议结合自己手头的项目或搭建测试环境,实际执行EXPLAIN分析慢查询、观察不同存储引擎在同一数据量下的写入差异、调整innodb_buffer_pool_size后对比性能变化。课程提供的讨论题可以作为自检清单,确认每个章节的关键概念是否真正内化。
课程目录
第1章 实例和故事 试看 7 节 | 50分钟 1-1 什么决定了电商双11大促的成败 (04:04).mp4
1-2 在双11大促中的数据库服务器 (06:03).mp4
1-3 在大促中什么影响了数据库性能 (07:55).mp4
1-4 大表带来的问题 (14:13).mp4
1-5 大事务带来的问题 (17:27).mp4
1-6 【讨论题】在日常工作中如何应对高并发大数据量对数据库性能挑战.mp4
1-7 【讨论题】在MySQL中事务的作用是什么?.mp4
第2章 什么影响了MySQL性能 试看
30 节 | 210分钟 2-1 影响性能的几个方面 (04:08).mp4
2-2 CPU资源和可用内存大小 (10:54).mp4
2-3 磁盘的配置和选择 (04:44).mp4
2-4 使用RAID增加传统机器硬盘的性能 (11:30).mp4
2-5 使用固态存储SSD或PCIe卡 (08:35).mp4
2-6 使用网络存储SAN和NAS (07:16).mp4
2-7 总结:服务器硬件对性能的影响 (03:27).mp4
2-8 操作系统对性能的影响-MySQL适合的操作系统 (03:50).mp4
2-9 CentOS系统参数优化 (11:43).mp4
2-
10 文件系统对性能的影响 (03:29).mp4
2-
11 MySQL体系结构 (05:29).mp4
2-
12 MySQL常用存储引擎之MyISAM (13:23).mp4
2-
13 MySQL常用存储引擎之Innodb (10:44).mp4
2-14 Innodb存储引擎的特性(1) (15:24).mp4
2-15 Innodb存储引擎的特性(2) (08:44).mp4
2-
16 MySQL常用存储引擎之CSV (09:19).mp4
2-
17 MySQL常用存储引擎之Archive (06:08).mp4
2-
18 MySQL常用存储引擎之Memory (10:40).mp4
2-
19 MySQL常用存储引擎之Federated (11:21).mp4
2-
20 如何选择存储引擎 (04:33).mp4
2-
21 MySQL服务器参数介绍 (08:04).mp4
2-
22 内存配置相关参数 (09:24).mp4
2-
23 IO相关配置参数 (10:01).mp4
2-
24 安全相关配置参数 (06:13).mp4
2-
25 其它常用配置参数 (03:41).mp4
2-
26 数据库设计对性能的影响 (04:36).mp4
2-
27 总结 (01:32).mp4
2-28 【讨论题】你会如何配置公司的数据库服务器硬件?.mp4
2-29 【讨论题】你认为对数据库性能影响最大的因素是什么.mp4
2-30 【讨论题】做为电商的DBA,建议开发选哪种MySQL存储引擎.mp4
第3章 MySQL基准测试 8 节 | 65分钟 3-1 什么是基准测试 (02:20).mp4
3-2 如何进行基准测试 (09:00).mp4
3-3 基准测试演示实例 (11:18).mp4
3-4 Mysql基准测试工具之mysqlslap (13:30).mp4
3-5 Mysql基准测试工具之sysbench (11:07).mp4
3-6 sysbench基准测试演示实例 (17:11).mp4
3-7 【讨论题】MySQL基准测试是否可以体现出业务系统的真实性能.mp4
3-8 【实操题】参数不同取值对性能的影响.mp4
第4章 MySQL数据库结构优化
14 节 | 85分钟 4-1 数据库结构优化介绍 (06:52).mp4
4-2 数据库结构设计 (14:49).mp4
4-3 需求分析及逻辑设计 (11:00).mp4
4-4 需求分析及逻辑设计-反范式化设计 (06:44).mp4
4-5 范式化设计和反范式化设计优缺点 (04:06).mp4
4-6 物理设计介绍 (05:17).mp4
4-7 物理设计-数据类型的选择 (18:59).mp4
4-8 物理设计-如何存储日期类型 (13:37).mp4
4-9 物理设计-总结 (02:37).mp4
4-10 说明MyISAM和Innodb存储引擎的5点不同.mp4
4-11 【讨论题】判断表结构是否符合第三范式要求?如不满足要如何修改.mp4
4-12 【实操题】请设计一个电商订单系统的数据库结构.mp4
4-13 【讨论题】以下那个字段适合作为Innodb表的主建使用.mp4
4-14 【讨论题】请为下表中的字段选择合适的数据类型.mp4
第5章 MySQL高可用架构设计
24 节 | 249分钟 5-1 mysql复制功能介绍 (04:58).mp4
5-2 mysql二进制日志 (22:05).mp4
5-3 mysql二进制日志格式对复制的影响 (09:37).mp4
5-4 mysql复制工作方式 (03:08).mp4
5-5 基于日志点的复制 (20:06).mp4
5-6 基于GTID的复制 (22:32).mp4
5-7 MySQL复制拓扑 (13:58).mp4
5-8 MySQL复制性能优化 (09:23).mp4
5-9 MySQL复制常见问题处理 (08:31).mp4
5-
10 什么是高可用架构 (14:09).mp4
5-
11 MMM架构介绍 (08:09).mp4
5-
12 MMM架构实例演示(上) (09:16).mp4
5-
13 MMM架构实例演示(下) (18:55).mp4
5-
14 MMM架构的优缺点 (08:01).mp4
5-
15 MHA架构介绍 (10:02).mp4
5-16 MHA架构实例演示(1) (13:11).mp4
5-17 MHA架构实例演示(2) (16:54).mp4
5-
18 MHA架构优缺点 (05:14).mp4
5-
19 读写分离和负载均衡介绍 (11:42).mp4
5-
20 MaxScale实例演示 (18:25).mp4
5-21 【讨论题】MySQL主从复制为什么会有延迟,延迟又是如何产生.mp4
5-22 【实操题】请为某互联网项目设计99.99%MySQL架构.mp4
5-23 【讨论题】如何给一个已经存在的主从复制集群新增一个从节点.mp4
5-24 【讨论题】给你三台数据库服务器,你如何设计它的高可用架构.mp4
第6章 数据库索引优化 8 节 | 65分钟 6-1 Btree索引和Hash索引 (20:09).mp4
6-2 安装演示数据库 (01:19).mp4
6-3 索引优化策略(上) (17:33).mp4
6-4 索引优化策略(中) (13:02).mp4
6-5 索引优化策略(下) (12:30).mp4
6-6 【讨论题】一列上建立了索引,查询时就一定会用到这个索引吗.mp4
6-7 【讨论题】在定义联合索引时为什么需要注意联合索引中的顺序.mp4
6-8 【实操题】SQL建立索引,你会考虑那些因素.mp4
第7章 SQL查询优化 9 节 | 62分钟 7-1 获取有性能问题SQL的三种方法 (05:14).mp4
7-2 慢查询日志介绍 (08:57).mp4
7-3 慢查询日志实例 (08:27).mp4
7-4 实时获取性能问题SQL (02:21).mp4
7-5 SQL的解析预处理及生成执行计划 (16:02).mp4
7-6 如何确定查询处理各个阶段所消耗的时间 (09:35).mp4
7-7 特定SQL的查询优化 (10:34).mp4
7-8 【讨论题】如何跟据需要对一个大表中的数据进行删除或更新.mp4
7-9 【讨论题】如何获取需要优化的SQL查询.mp4
第8章 数据库的分库分表 5 节 | 48分钟 8-1 数据库分库分表的几种方式 (04:34).mp4
8-2 数据库分片前的准备 (13:53).mp4
8-3 数据库分片演示(上) (11:40).mp4
8-4 数据库分片演示(下) (17:02).mp4
8-5 【讨论题】对于大表来说我们一定要进行分库分表吗.mp4
第9章 数据库监控 7 节 | 29分钟 9-1 数据库监控介绍 (04:46).mp4
9-2 数据库可用性监控 (07:20).mp4
9-3 数据库性能监控 (09:39).mp4
9-4 MySQL主从复制监控 (06:16).mp4
9-5 【讨论题】QPS是否可以真实的反映出数据库的负载情况.mp4
9-6 【讨论题】如何正确评估数据库的当前负载状况.mp4
9-7 【实操题】开发一个简单监控脚本,监控mySQL数据库阻塞情况.mp4