如何系统学习数据库?

2021-01-02 13:42:48 +08:00
 naoh1000
原本以为数据表设计能用就行了,自己个人项目的服务器 CPU 天天被数据库占满。找人优化了一下,CPU 占用只剩不到原来的 10%。
5424 次点击
所在节点    云计算
23 条回复
yfwl
2021-01-02 13:51:49 +08:00
一般来说数据库不需要优化,除非你是很大很大很大很大很大很大
MeatIndustry
2021-01-02 14:05:26 +08:00
同求
lewis89
2021-01-02 14:06:42 +08:00
动手写一个 parse 照 innodb 写一个 b+树 按页 为最小单位实现
arthas2234
2021-01-02 14:14:32 +08:00
写好 SQL,利用好索引,对一般人来说已经够用。剩下的是对性能有极致追求的
Procumbens
2021-01-02 14:16:41 +08:00
书:Database System Concepts
课程:CMU 15-445
Lemeng
2021-01-02 14:36:18 +08:00
等会再来看看大神集思广益
fiveelementgid
2021-01-02 14:43:24 +08:00
ヘ(。□°)ヘ没学过数据库,Linq 中毒患者路过,等楼下大佬给方案
raaaaaar
2021-01-02 15:02:41 +08:00
买一本教科书然后开始刷
RickyC
2021-01-02 15:07:37 +08:00
@yfwl 数据库很大不是很正常?
jones2000
2021-01-02 19:05:24 +08:00
看数据库日志, 把慢的 sql 日志都打印出来 优化。
xupefei
2021-01-02 19:16:07 +08:00
来我司实习三个月
dream4ever
2021-01-02 19:19:15 +08:00
用的是 MySQL 的话,我上豆瓣搜了搜,有几本中文的图书平分都在 8 分以上,包括《 MySQL 是怎样运行的》《 MySQL 必知必会》《高性能 MySQL 》,可以看看里面适合于入门的,比如前两本,应该会有帮助。
laminux29
2021-01-02 19:27:24 +08:00
既然你提到了 [系统性地学习] ,首先为你介绍一下计算机技能树:

模电 -> 数电 -> 组成 -> 汇编 -> C/C++ -> Java/C#/PHP/Python -> 操作系统 / 计算机网络 -> 传统数据库 -> 分布式 -> 分布式数据库

发现没,就算只解锁传统数据库,也需要学一大堆东西。

举个例子,12306 第一版的数据库存在性能问题,在这条技能树上,向下就能穿透到模电层,后来他们最终采用的方案,本质上是解决了模电层的一个关键瓶颈。IBM 当时给的方案其实也是同类方法,只是不符合当时去 IOE 的政策,因此没被采用。
ttyhtg
2021-01-02 19:38:40 +08:00
我也想学呢,啥也不懂,网站总是资源消耗太多被停掉,问了说是数据库的问题,搜了教程照着优化了下,容量下去了,从占用 80%到了 16%,以为万事大吉了,结果今儿站点又被停了
crclz
2021-01-02 19:40:15 +08:00
大学里面讲的“数据库概论”沾点关系代数了,并且和实际中如何写高效的 sql 语句重合性不高。

推荐书目:
《 SQL 反模式》(整本)
《高性能 MySQL 》(不必整本读)
liuxey
2021-01-02 21:52:43 +08:00
"找人优化"="建了条索引"

其实日常设计和使用数据库也没啥高大上的东西,坑踩多了基本就熟练于心了
helloworld000
2021-01-02 22:13:17 +08:00
跟着最专业的 CMU 的 database system 学
https://15445.courses.cs.cmu.edu/fall2020/

2020 年的还没出完,视频可以参考 2019 年的

Andy 是个非常有性格而且讲究实用性最重要的是有实力的大佬,比一些乱七八糟的阿猫阿狗和自己胡乱学好很多
fox0001
2021-01-02 22:16:29 +08:00
@liuxey #16 同意~查询速度的优化,一般用索引解决
helloworld000
2021-01-02 22:17:35 +08:00
个人感觉 cmu 这个 database system 在四大里算是最好的 db 课程

紧贴业界最火的 db 产品和技术,也涉及了很多硬核的知识点,对整个 db 的知识框架梳理的非常清楚
lekai63
2021-01-02 22:49:58 +08:00
我觉得这需求 是不是看 Postgres 的文档 比较好?

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

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

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

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

© 2021 V2EX