请教如何高效学习 MySQL

2021-04-25 11:39:34 +08:00
 sunriz

楼主之前没用过 MySQL,后面要去搞业务开发,迟早会接触。目前只会些基本 SQL 语句。1 是不清楚各种语句的性能差异,现在基本只知道索引的原理,这个应该还要深入看看各种语句的原理; 2 是不知道如何建模才算好,之前看了有人推荐阿里的规范,太多条款了,没实际用过感觉很难有体会,是不是要自己写一些假想的业务场景练习一下,然后找别人帮忙看看?

求大佬们指点迷津,各位是如何学习的

3227 次点击
所在节点    MySQL
13 条回复
nbhaohao
2021-04-25 12:27:41 +08:00
有差不多的疑问,等一手解答
Ruabc
2021-04-25 13:40:09 +08:00
u823tg
2021-04-25 13:46:55 +08:00
《高性能 mysql 》
Alexhex
2021-04-25 19:12:40 +08:00
战术蹲一波答案
young1lin
2021-04-25 20:33:47 +08:00
那个 45 讲,对一般的开发足够了,MySQL 圣经(《高性能 MySQL 》)就深入了。就是 explain 看看,看扫描行数,执行秒数,有没有回表操作之类的。按规范来确实有一点用。
bz5314520
2021-04-26 00:34:26 +08:00
其实看下官网文档就够了,不过建模这得多练练
cqsc
2021-04-26 06:17:21 +08:00
深入可以看看慢 SQL 优化、怎么建索引高效,然后诸如表设计之类的
xuanbg
2021-04-26 06:42:43 +08:00
多写 sql,同时深入研究一下执行计划。
ericgui
2021-04-26 08:48:36 +08:00
有没有某种办法去 debug ?就是看 mysql 查询时间用了多少毫秒?这样就知道自己的“优化”有没有任何效果?
Fizzyi
2021-04-26 09:44:22 +08:00
蹲一波答案
magichacker
2021-04-26 10:22:15 +08:00
有没有课代表来给解答一下
meeop
2021-04-26 10:54:25 +08:00
读书,大概两本,高性能 mysql,mysql 深入浅出.这里是了解 mysql 的使用,部署,维护
然后是练习,可以工作中积累,也可以直接完成下面作业
1 完成创建一个表,增删改查 group by,各种函数,验证索引等全部书中提到的功能
2 设计如下几个系统,仅设计表结构并跑通 sql 即可
一个学生管理系统,包含学生信息表,老师信息表,班级信息表,分数表,和关联表
构造数据,约 100w 行量级
实现学生,老师,班级,分数的增删改查 sql
分析:分别按照学生,老师,班级,科目粒度,查看总分,平均分,前 10 名,某个学生时间范围成绩
并优化索引,确保所有查询都在 10ms 下(个人电脑本地数据库情况下)
deepmindlab
2021-04-26 15:13:21 +08:00
第一步:《 MySQL 是怎么运行的》——从根上理解 MySQL
第二步:《高性能 MySQL 》

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/773081

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX