V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
1oNflow
V2EX  ›  程序员

学生可以做一个怎样的项目来证明自己掌握了 MySQL 等数据库技术呢?

  •  
  •   1oNflow · Apr 30, 2017 · 5148 views
    This topic created in 3295 days ago, the information mentioned may be changed or developed.

    曾经考虑过自己实现一个类似 MySQL 的简单数据库,但考虑到从零开始难度比较高,时间不太够,而且目前也不需要对数据库底层有非常深入的了解。现在考虑可不可以对 MySQL 进行一些扩展或者优化,比如写一些存储函数(我看到大家都说不要用存储过程,但这只是个人练习的项目不包含什么业务,写完不会改的)来改变排序的方式(字典,数字)等,或者对并行查询的简单优化,或者和 spark 这种分布式框架结合。不知道大家有没有一些建议,非常感谢。

    20 replies    2017-05-02 08:45:58 +08:00
    xfspace
        1
    xfspace  
       Apr 30, 2017 via Android
    证明自己掌握...并不是写项目吧。把理论吃透先?
    roychan
        2
    roychan  
       Apr 30, 2017 via iPhone
    不了解底层怎么扩展?
    1oNflow
        3
    1oNflow  
    OP
       Apr 30, 2017
    @xfspace 的确理论很重要,但我目前打算联系教授,如果没有一个项目作为基础,和对方没有谈技术的话题啊,因为没有笔试来证明我掌握了。
    1oNflow
        4
    1oNflow  
    OP
       Apr 30, 2017
    @roychan 从零开始写一个数据库可能做不到了,不过去研究 MySQL 怎么做的还是可以的,而且不是源代码的扩展应该不会需要非常深入吧。
    roychan
        5
    roychan  
       Apr 30, 2017 via iPhone
    @1oNflow 没必要纠结于 MySQL,学习学习数据库理论吧,如果有课能上更好。
    JamesMackerel
        6
    JamesMackerel  
       Apr 30, 2017 via iPhone
    学生成绩管理系统?
    roychan
        7
    roychan  
       Apr 30, 2017 via iPhone
    学会用 MySQL 和了解数据库原理是两件几乎正交的事情。要证明你了解数据库理论,不一定要实现一个完整的数据库算法,实现数据库理论当中的一些重要算法就可以了。
    1oNflow
        8
    1oNflow  
    OP
       Apr 30, 2017
    @JamesMackerel 这个主要侧重 web 方面吧,而且有 spring jpa 这种自己写怎么也超越不了啊。
    msg7086
        9
    msg7086  
       Apr 30, 2017
    唔,为什么要证明自己掌握了使用数据库技术?
    lianxiaoyi
        10
    lianxiaoyi  
       Apr 30, 2017 via Android
    例如索引什么情况下失效,为什么子查询慢成屎!!!!研究这些玩意!
    moult
        11
    moult  
       Apr 30, 2017 via iPhone
    既然都考虑写一个数据库了,那就先搞一个 MySQL 的存储引擎吧。
    wdlth
        12
    wdlth  
       Apr 30, 2017
    不是应该证明自己不光是掌握数据库么?
    eloah
        13
    eloah  
       Apr 30, 2017
    用 postgreSQL,证明自己不需要这么坑的 MySQL 数据库就好(逃
    Tunar
        14
    Tunar  
       Apr 30, 2017 via Android
    轮子。。呗。。
    changwei
        15
    changwei  
       May 1, 2017 via Android
    刷 bat 等大厂的 dba 面试题呗!把所有面试题都吃透,并且能说出所有选项的对错原因,那么就算是精通了。另外可以参考一些非常复杂的大型开源项目的数据库设计,观察他们对于范式和反范式的设计和优化,索引的建立以及表关系(实体间关系)的理解。
    bottleimp
        16
    bottleimp  
       May 1, 2017 via iPhone
    不需要这么麻烦吧,只是为了面试的话,搞明白索引怎么实现的,然后懂一些 sql 优化就行了。
    zhx1991
        17
    zhx1991  
       May 1, 2017
    把索引搞懂吧, 日常使用这点最重要
    zhengxiaowai
        18
    zhengxiaowai  
       May 1, 2017
    你是要奔 DBA 去么,其实普通开发对数据库要求没那么高,会配置,懂索引,能写 SQL,会优化 SQL,一般就够了。
    Hozzz
        19
    Hozzz  
       May 1, 2017
    基础的无外乎就是如何巡检数据库,优化 sql,搭建灾备环境,灾难演练;高级点的,知道底层架构( LRU,数据字典,数据如何落地,如何保证数据完整性,加锁机制,死锁,锁冲突...);再高级点的,如何截日志等等_(:з」∠)_
    CQCQCQ
        20
    CQCQCQ  
       May 2, 2017
    找几份 xxx 脱裤的文本数据,从导入、清洗、抽取、加工、分析最终得到一个 xxx 报表,优化优化优化,应该可以检测出对 Mysql 掌握程度了(至少开发够用了)。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1172 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 23:21 · PVG 07:21 · LAX 16:21 · JFK 19:21
    ♥ Do have faith in what you're doing.