先搞清楚:这门课解决什么问题

很多做后端开发或运维的上班族,平时写业务接口时增删改查都能跑通,可一旦项目数据量上来、或者遇到并发稍高的活动,页面响应就肉眼可见地变慢。这时候往往不知道该从哪里下手,只能盲目搜博客、照着改几行参数,结果治标不治本。这门 MySQL 优化课针对的就是这个场景:它不教基础语法,而是帮你建立一套排查和调优的判断思路。核心解决两件事——第一,怎么从一堆正在跑的语句里,准确揪出真正拖慢系统的那几条;第二,找到之后,用什么手段去干预,比如存储引擎怎么选、索引怎么加才有效。它强调优化不是背招式,而是先判断方向,再动手,这对经常需要在线上救火的同学来说很实用。

适合什么基础,建议先看哪几块

这门资料不适合完全没碰过数据库的转行者,它默认你已经能独立写基本的查询语句,知道表结构怎么建,日常工作中会接触实际的业务库。如果你目前处于“会用但不懂底层”的阶段,这套内容正好补齐你缺的那块拼图。建议拿到资料后,不要从头按顺序死磕,优先看慢查询日志和 profile 机制那几节,这是排查问题的入口,学会怎么定位慢语句,后面的存储引擎特性和索引设计才有着力点。存储引擎部分的对比讲解也值得重点看,尤其是 InnoDB 和 MyISAM 在存储顺序与并发性上的差异,理解了这些,你在建表初期的选型就不会拍脑袋。

学完能独立做什么,资料怎么配合练习

学完这套内容,你应该能独立处理一次完整的慢查询排查:先开启日志抓取问题语句,用 profile 精确看每一步的耗时,然后判断是表结构选型问题还是索引缺失,最后给出优化方案并验证效果。资料配合练习的方式很关键,光看视频不动手基本等于白学。建议自己本地建一个测试库,故意往里面灌几万条以上的数据,模拟慢查询场景,跟着视频里的步骤一步步开启日志、分析执行计划。索引那部分一定要自己在表上创建、删除、对比查询时间,亲手感受加了索引和没加的区别,这比看十遍视频都管用。


本课是一门基于MySQL数据库的性能优化课, 性能优化是一门艺术,比较抽象,它没有固定的招式,优化的关键是学习一种思路,判断一个方向,最后就是一“键”定胜负!

课程目录

*   第一章 网站优化/

  *   MySQL优化概述/

    *   01-优化介绍与存储引擎

  *   储存引擎/

    *   02-innodb存储引擎的特性1-存储格式

    *   03-innodb存储引擎的特性2-数据存储顺序和并发性

    *   04-myisam存储引擎的特性1-存储形式&存储顺序&并发性

    *   05-myisam存储引擎的特性2-压缩性

    *   06-memory存储引擎&存储引擎的取舍

  *   慢查询操作/

    *   07-查找需要优化的语句-慢查询日志01

    *   08-查找需要优化的语句-慢查询日志02

    *   09-查找需要优化的语句-精确记录查询时间-profile机制

  *   索引/

    *   10-索引的介绍

    *   11-创建索引

    *   12-删除&查看索引和创建索引的注意事项

    *   13-执行计划explain

    *   14-myisam索引的数据结构

    *   15-innodb索引的数据结构

    *   16-索引覆盖

    *   17-索引的使用原则1-列独立和like查询

    *   18-索引的使用原则2-or运算和复合索引

    *   19-索引的使用原则3-智能选择和优化group by

    *   01-前缀索引

    *   02-全文索引

  *   查询缓存/

    *   03-查询缓存1-配置和使用

    *   04-查询缓存2-无缓存的情景和查看缓存情况

  *   limit分页/

    *   05-limit分页优化

  *   分区技术/

    *   06-分区技术介绍

    *   07-分区算法之list

    *   08-分区算法之range

    *   09-分区算法之hash和key

    *   10-分区管理

  *   锁机制/

    *   13-mysql锁机制介绍

    *   14-mysql锁机制表锁演示

    *   15-mysql锁机制行锁演示

    *   16-mysql锁机制PHP代码实现

  *   碎片管理/

    *   17-mysql中数据碎片修复

  *   范式和反三范式/

    *   18-范式和反三范式

  *   分表技术/

    *   11-分表技术之水平分表

    *   12-分表技术之垂直分表