解决什么问题:从“能写 SQL”到“能扛查询压力”
很多做业务开发的朋友,日常写增删改查已经很顺,但一遇到慢查询、接口卡顿、大表分页或者死锁,就不知道从哪里下手查。这门课的主题是 MySQL 的高级对象与调优,它解决的是“数据库从能用到扛得住”这个阶段的具体问题。内容覆盖索引底层结构、SQL 优化、视图与存储过程等对象的使用,以及数据库日志和应用层配合优化。它不是带你重新学一遍建表语法,而是假设你已经能独立写多表联查,现在要搞清楚为什么这条语句慢、索引为什么没生效、B+ 树到底怎么影响查询路径。如果你正处于“会写但不懂底层”的阶段,这门课正好补齐这块认知。
适合什么基础,建议先看哪几块
这门课不适合完全没碰过数据库的零基础读者。它默认你已经熟悉基本的增删改查、多表连接、分组聚合,最好在 Linux 环境下操作过 MySQL。如果你连 group by 都还卡壳,建议先补基础再来看。资料按体系课形式组织,从 Linux 安装启动开始,逐步推进到索引数据结构、SQL 优化、应用层优化。我的建议是:如果你时间有限,优先看索引那一块,尤其是 B+ 树结构和索引的优劣分析,这是后面所有优化讨论的基础;看完索引,直接跳到 SQL 语句优化技巧,把慢查询定位和执行计划分析搞明白;视图、存储过程、触发器这些对象可以放在后面,按需查阅。日志部分如果当前用不到,可以先标记,等遇到线上问题排查时再回来对照看。
资料怎么配合练习,学完能独立做什么
数据库调优不是看懂的,是试出来的。这套资料虽然以视频讲解为主,但你要想真正吸收,必须自己建一张几十万行以上的测试表,跟着视频里的案例实际跑执行计划,对比加索引前后的扫描行数变化。索引那一块,建议你手动建几个不同结构的索引,用 explain 看看 type、key、rows 这几个字段的变化,比单纯听课有效得多。存储过程和触发器部分,自己写一个简单的业务场景跑一遍,比如订单状态变更时自动写日志表,理解触发时机和潜在坑。学完之后,你应该能独立完成这几件事:看懂执行计划并判断索引是否命中、对慢查询提出具体的优化方案、设计合理的复合索引避免冗余、在排查线上数据库异常时知道去翻哪类日志。如果你只是把视频从头看到尾不动手,大概率过两周就忘得差不多,所以边看边练是这套资料唯一靠谱的用法。
本课程作为MySQL高级课程, 主要讲解了MySQL中的视图/存储过程/触发器/索引等对象的使用、常见的SQL语句优化的技巧 、应用优化、数据库优化、数据库日志
课程目录
* 第一章 数据库安装及数据库对象/
* 课程目标/
* 01. MySQL 高级 - 课程内容介绍
* Linux安装MySQL及启动/
* 02. MySQL 高级 - Linux上安装MySQL
* 03. MySQL 高级 - 启动及登录MySQL
* MySQL对象 - 索引/
* 04. MySQL 高级 - 索引 - 概述
* 05. MySQL 高级 - 索引 - 优势和劣势
* 06. MySQL 高级 - 索引 - 数据结构
* 07. MySQL 高级 - 索引 - 数据结构 - BTREE
* 08. MySQL 高级 - 索引 - 数据结构 - B+TREE
* 09. MySQL 高级 - 索引 - 索引分类
* 10. MySQL 高级 - 索引 - 索引语法
* 11. MySQL 高级 - 索引 - 索引设计原则
* MySQL对象 - 视图/
* 12. MySQL 高级 - 视图 - 概述
* 13. MySQL 高级 - 视图 - 创建及修改视图
* 14. MySQL 高级 - 视图 - 查看及删除视图
* MySQL对象 - 存储过程/
* 15. MySQL 高级 - 存储过程 - 概述
* 16. MySQL 高级 - 存储过程 - 创建调用查询删除语法
* 17. MySQL 高级 - 存储过程 - 语法 - 变量
* 18. MySQL 高级 - 存储过程 - 语法 - if判断
* 19. MySQL 高级 - 存储过程 - 语法 - 输入参数
* 20. MySQL 高级 - 存储过程 - 语法 - 输出参数
* 21. MySQL 高级 - 存储过程 - 语法 - case结构
* 22. MySQL 高级 - 存储过程 - 语法 - while循环
* 23. MySQL 高级 - 存储过程 - 语法 - repeat循环
* 24. MySQL 高级 - 存储过程 - 语法 - loop循环
* 25. MySQL 高级 - 存储过程 - 语法 - 游标介绍
* 26. MySQL 高级 - 存储过程 - 语法 - 游标基本操作
* 27. MySQL 高级 - 存储过程 - 语法 - 循环获取游标
* 28. MySQL 高级 - 存储过程 - 函数
* MySQL对象 - 触发器/
* 29. MySQL 高级 - 触发器 - 介绍
* 30. MySQL 高级 - 触发器 - 创建及应用
* 31. MySQL 高级 - 触发器 - 查看及删除
* 第二章 存储引擎、索引使用及SQL优化/
* 课程目标/
* 01. MySQL高级 - 今日内容
* MySQL 体系结构/
* 02. MySQL高级 - 体系结构
* MySQL 存储引擎/
* 03. MySQL高级 - 存储引擎 - 概述
* 04. MySQL高级 - 存储引擎 - 特性
* 05. MySQL高级 - 存储引擎 - InnoDB特性
* 06. MySQL高级 - 存储引擎 - MyISAM特性
* 07. MySQL高级 - 存储引擎 - Memory与Merge特性
* 08. MySQL高级 - 存储引擎 - 选择原则
* MySQL 优化步骤/
* 09. MySQL高级 - 优化SQL步骤 - SQL执行频率
* 10. MySQL高级 - 优化SQL步骤 - 定位低效SQL
* 11. MySQL高级 - 优化SQL步骤 - explain指令介绍
* 12. MySQL高级 - 优化SQL步骤 - explain之id
* 13. MySQL高级 - 优化SQL步骤 - explain之select_type
* 14. MySQL高级 - 优化SQL步骤 - explain之table type
* 15. MySQL高级 - 优化SQL步骤 - explain之key rows extra
* 16. MySQL高级 - 优化SQL步骤 - show profile
* 17. MySQL高级 - 优化SQL步骤 - trace工具
* MySQL 索引的使用/
* 18. MySQL高级 - 索引的使用 - 验证索引提升查询效率
* 19. MySQL高级 - 索引的使用 - 全值匹配
* 20. MySQL高级 - 索引的使用 - 最左前缀法则
* 21. MySQL高级 - 索引的使用 - 索引失效情况(范围查询,字段运算)
* 22. MySQL高级 - 索引的使用 - 覆盖索引
* 23. MySQL高级 - 索引的使用 - or索引失效情况
* 24. MySQL高级 - 索引的使用 - like模糊匹配
* 25. MySQL高级 - 索引的使用 - 全表扫描更快
* 26. MySQL高级 - 索引的使用 - NULL值的判定
* 27. MySQL高级 - 索引的使用 - in和not in
* 28. MySQL高级 - 索引的使用 - 单列索引与复合索引选择
* 29. MySQL高级 - 索引的使用 - 查看索引使用情况
* MySQL - SQL优化/
* 30. MySQL高级 - SQL优化 - 大批量插入数据
* 31. MySQL高级 - SQL优化 - insert优化
* 32. MySQL高级 - SQL优化 - orderby 优化
* 33. MySQL高级 - SQL优化 - group by 优化
* 34. MySQL高级 - SQL优化 - 子查询优化
* 35. MySQL高级 - SQL优化 - or优化
* 36. MySQL高级 - SQL优化 - limit优化
* 37. MySQL高级 - SQL优化 - 索引提示
* 第三章 MySQL参数调优及数据库锁/
* 课程目标/
* 01. MySQL高级 - 今日内容
* MySQL - 应用优化/
* 02. MySQL高级 - 应用优化
* MySQL - 查询缓存/
* 03. MySQL高级 - 查询缓存 - 概述及流程
* 04. MySQL高级 - 查询缓存 - 配置参数
* 05. MySQL高级 - 查询缓存 - 开启查询缓存
* 06. MySQL高级 - 查询缓存 - SELECT选项
* 07. MySQL高级 - 查询缓存 - 失效场景
* MySQL - 内存优化/
* 08. MySQL高级 - 内存优化 - 优化原则
* 09. MySQL高级 - 内存优化 - MyISAM内存优化
* 10. MySQL高级 - 内存优化 - InnoDB内存优化
* MySQL - 并发参数调整/
* 11. MySQL高级 - 并发参数调整
* MySQL - 锁的概述/
* 12. MySQL高级 - 锁 - 锁的概述及分类
* 13. MySQL高级 - 锁 - MySQL对锁的支持
* MySQL - MyISAM锁/
* 14. MySQL高级 - 锁 - MyISAM表锁 - 读锁
* 15. MySQL高级 - 锁 - MyISAM表锁 - 写锁
* 16. MySQL高级 - 锁 - MyISAM表锁 - 小结
* 17. MySQL高级 - 锁 - MyISAM表锁 - 查看锁争用情况
* MySQL - InnoDB锁/
* 18. MySQL高级 - 锁 - InnoDB行锁 - 介绍及背景知识
* 18. MySQL高级 - 锁 - InnoDB行锁 - 类型
* 19. MySQL高级 - 锁 - InnoDB行锁 - 基本演示
* 20. MySQL高级 - 锁 - InnoDB行锁 - 行锁升级为表锁
* 21. MySQL高级 - 锁 - InnoDB行锁 - 间隙锁危害
* 22. MySQL高级 - 锁 - InnoDB行锁 - 争用情况查看
* 23. MySQL高级 - 锁 - InnoDB行锁 - 总结
* MySQL - 常用SQL技巧/
* 24. MySQL高级 - SQL技巧 - SQL执行顺序及正则表达式
* 25. MySQL高级 - SQL技巧 - 数字函数与字符串函数
* 26. MySQL高级 - SQL技巧 -日期函数与聚合函数
* 第四章 MySQL常用工具、日志及综合案例/
* 课程目标/
* 01. MySQL高级 - 课程内容
* MySQL - 常用工具/
* 02. MySQL高级 - 常用工具 - mysql
* 03. MySQL高级 - 常用工具 - mysqladmin
* 04. MySQL高级 - 常用工具 - mysqlbinlog与mysqldump
* 05. MySQL高级 - 常用工具 - mysqlimport与source
* 06. MySQL高级 - 常用工具 - mysqlshow
* MySQL - 日志/
* 07. MySQL高级 - 日志 - 错误日志
* 08. MySQL高级 - 日志 - 二进制日志(statement)
* 09. MySQL高级 - 日志 - 二进制日志(row及日志删除)
* 10. MySQL高级 - 日志 - 查询日志
* 11. MySQL高级 - 日志 - 慢查询日志
* MySQL - 复制/
* 12. MySQL高级 - 复制 - 原理
* 13. MySQL高级 - 复制 - 集群搭建
* MySQL优化 - 案例/
* 14. MySQL高级 - 案例 - 需求及环境准备
* 15. MySQL高级 - 案例 - 基本工程导入
* 16. MySQL高级 - 案例 - AOP记录日志
* 17. MySQL高级 - 案例 - 日志查询后端 - mapper接口
* 18. MySQL高级 - 案例 - 日志查询后端 - Service&Controller
* 19. MySQL高级 - 案例 - 日志查询 - 前端
* 20. MySQL高级 - 案例 - 系统性能优化分析
* 21. MySQL高级 - 案例 - 系统性能优化 - 分页优化
* 22. MySQL高级 - 案例 - 系统性能优化 - 索引优化
* 23. MySQL高级 - 案例 - 系统性能优化 - 读写分离概述
* 24. MySQL高级 - 案例 - 系统性能优化 - 数据源配置
* 25. MySQL高级 - 案例 - 系统性能优化 - AOP切换数据源
* 26. MySQL高级 - 案例 - 系统性能优化 - AOP切换数据源 - 测试
* 27. MySQL高级 - 案例 - 系统性能优化 - AOP切换数据源 - 原理解析
* 28. MySQL高级 - 案例 - 系统性能优化 - 应用优化






