专栏名称: 架构师之路
架构师之路,坚持撰写接地气的架构文章
目录
相关文章推荐
架构师之路  ·  用单库自增键来生成业务id,后期要怎么分裤? ·  6 天前  
架构师之路  ·  世界上最SB的事情就是... ·  5 天前  
架构师之路  ·  对不起,你那不叫努力,叫重复劳动... ·  1 周前  
51好读  ›  专栏  ›  架构师之路

我当年学MySQL,要是有这个项目就好了...(收藏不亏)

架构师之路  · 公众号  · 架构  · 2024-08-27 08:05

正文

之前写过不少MySQL相关的文章:
MySQL缓冲池,终于讲清楚了
数据库允许空值(null),往往是悲剧的开始
MySQL性能调优,必须掌握这一个工具

沈老师,你是怎么学习MySQL相关知识的?
吹流弊的说法是,我只信MySQL官网。

实事求是来说,看官网,我也是被逼无奈。
一来,中文资料平均有1-2年延时;
二来,很多信息,各个地方说的还都不一样,不知道信谁;
三来,不知道要系统性学哪些;
于是,就啃一了个大而全的官网。

沈老师,我是一个普通开发者,要学哪些MySQL知识呢?
MySQL,之于普通开发者,这四方面够用了
(1)表设计;
(2)索引设计;
(3)SQL性能调优;
(4)MySQL常见业务实践;
画外音:能成为Top10%的MySQL开发者么?

沈老师,要怎么学这些内容呢?
只是这4项的话,不要去啃MySQL官网,太枯燥太低效了。我推荐这个项目给你。

项目名称:mysql-for-developers
项目链接
https://planetscale.com/learn/courses/mysql-for-developers

mysql-for-developers是什么?

这不是一个开源的git项目,而是planetscale开放的一个针对MySQL开发者免费课程
画外音:某些原因,文末再介绍planetscale。

mysql-for-developers有什么特点?
(1)针对开发者,不全面但实用
画外音:不涉及运维,架构,内核。
(2)视频文字双管齐下;
(3)不枯燥,有很多具体的例子,通俗易懂

mysql-for-developers只有四个章节,重头戏是中间两个章节。
第一章,表(schema)设计。
画外音:要是觉得初级,可以跳过。

第二章,重点,索引(indexing)设计。

这一章介绍了:
主键索引(primary key)
普通索引(secondary key)
主键数据类型(primary key data type)
索引怎么添加(where to add)

画外音:索引一般添加在 where, order by, join, group by ... 等相关列上。

索引选择(index selectivity)
前缀索引(prefix index)
复合索引(composite index)
覆盖索引(covering index)
全文索引(fulltext index)
...

基本上常见的场景与索引都涵盖了。

第三章,重点,SQL性能调优。

这一章介绍了:
EXPLAIN工具
行数限制(limit)

连接(join)

子查询(subquery)

画外音:SQL优化都有非常直观的案例。

表达式(expression)
递归(recursive)
UNION
空值(NULL)
排序(sorting)
...
等多种场景下的SQL调优。

通过SQL实现业务功能未必难,用最优的SQL才最体现开发者的功底。

第四章,案例:MD5场景,位操作场景,布尔值场景,时间戳场景,汇总表场景,元数据表场景,分页场景,地理位置搜索场景... 等多个场景业务场景,都有非常详细的说明。

另外,视频文字双管齐下,也是这个项目的特色。
左侧是各章节的目录,右侧是课程视频

如果嫌视频进度太慢,课程视频的下面有文字说明

mysql-for-developers还有一个大优点:学习成功率
啃MySQL官网,没有一两个月啃不下来,容易中途劝退。

而这个项目,只讲工程师用得到的,总长只有4-5个小时,并且切碎成了5-15分钟的知识点,大家可以按需学习,让参与学习的童鞋信心指数大增。

这个planetscale开放的MySQL免费课程的介绍接近尾声了,正常情况下,按照我的习惯,要吹一波课程的“主人”planetscale,但这一次...
它居然...
service not available in China.
好吧,大家散了吧,学免费的课程就好。

工作期间的8小时,求生存;

工作之外的8小时,谋发展。
咱们一起,学起来!

MySQL历史文章:
MySQL缓冲池,终于讲清楚了
数据库允许空值(null),往往是悲剧的开始
MySQL性能调优,必须掌握这一个工具

帮忙分享给有需要的朋友,谢