社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

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

架构师之路 • 2 月前 • 289 次点击  
之前写过不少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性能调优,必须掌握这一个工具

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





Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/173587
 
289 次点击