V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
naoh1000
V2EX  ›  云计算

如何系统学习数据库?

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

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

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

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

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

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

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

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

    紧贴业界最火的 db 产品和技术,也涉及了很多硬核的知识点,对整个 db 的知识框架梳理的非常清楚
    lekai63
        20
    lekai63  
       2021-01-02 22:49:58 +08:00 via iPhone
    我觉得这需求 是不是看 Postgres 的文档 比较好?
    huayumo
        21
    huayumo  
       2021-01-03 14:49:12 +08:00
    感觉数据库优化,索引占很大一部分
    chihiro2014
        22
    chihiro2014  
       2021-01-03 14:52:46 +08:00 via iPhone
    @huayumo 查询优化器也是重点
    zyf199601
        23
    zyf199601  
       2021-02-18 18:23:50 +08:00
    把 sql 写写好,数据表结构优化好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2639 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:51 · PVG 23:51 · LAX 07:51 · JFK 10:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.