V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zgcwkj
V2EX  ›  数据库

大伙们设计数据库是怎么设计的呢?

  •  
  •   zgcwkj · 2019-07-02 17:15:01 +08:00 · 2503 次点击
    这是一个创建于 1757 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大伙们设计数据库是怎么设计的呢?

    数据的字段有没有考虑长度的?

    现在内存那么多,好奇的问一下,为什么不用不固定长度 代替固定长度的设计?

    20 条回复    2019-07-03 14:03:47 +08:00
    lithiumii
        1
    lithiumii  
       2019-07-02 18:23:23 +08:00 via Android
    MongoDB 瞎 jb 写就是了
    moodasmood
        2
    moodasmood  
       2019-07-02 19:09:23 +08:00 via Android
    硬盘再大也是有上限的,另外,硬盘不要钱啊
    akira
        3
    akira  
       2019-07-02 19:10:48 +08:00
    固定长度性能应该是更好
    WildCat
        4
    WildCat  
       2019-07-02 19:12:22 +08:00
    Rails 的 ActiveRecord 生成的默认是不带长度的了
    loading
        5
    loading  
       2019-07-02 19:13:13 +08:00 via Android
    用空间换速度
    dosmlp
        6
    dosmlp  
       2019-07-02 19:18:54 +08:00
    能用就行了
    recall704
        7
    recall704  
       2019-07-02 19:23:49 +08:00
    拍脑袋
    zgcwkj
        8
    zgcwkj  
    OP
       2019-07-02 19:29:27 +08:00
    @lithiumii #1 总得设计吧~
    @moodasmood #2 硬盘用不了多少的啊
    @akira #3 有具体测试过吗?
    @WildCat #4 谢谢!
    akmissxt
        9
    akmissxt  
       2019-07-02 20:48:22 +08:00
    不固定长度?那数据怎么展示?
    Kylin30
        10
    Kylin30  
       2019-07-02 20:58:16 +08:00
    走一步算一步
    moodasmood
        11
    moodasmood  
       2019-07-02 22:59:03 +08:00
    @zgcwkj 用不了多少?一张过亿量的表,text 和 varchar 得差多少?另外,想不设计,像#1 说的,mongo 瞎 jb 写就是了,不需要设计
    fs20
        12
    fs20  
       2019-07-02 23:00:37 +08:00
    @lithiumii 我一口水差点喷显示器上,哈哈哈
    Takamine
        13
    Takamine  
       2019-07-02 23:22:25 +08:00
    是不是固定长度取决于产品是否以后可能会对这个字段做什么骚操作。:doge:
    Takamine
        14
    Takamine  
       2019-07-02 23:23:03 +08:00
    @lithiumii 哈哈哈哈,写得爽,就是贵。:doge:
    liuguichao
        15
    liuguichao  
       2019-07-03 10:01:08 +08:00   ❤️ 1
    定长字符串,适合存储 MD5/SHA256,对于需要经常变更的数据,不容易产生碎片;变长字符串,如果频繁的更新,列数据变长的情况下数据行会变长,可能需要调整页数据,甚至分裂页。出现额外的操作,就意味着性能损失。
    对于变长字符串 varchar(10)和 varchar(100), 虽然使用的硬盘存储空间一样,但是在内存中进行排序时消耗却不同。
    zgcwkj
        16
    zgcwkj  
    OP
       2019-07-03 10:08:00 +08:00
    @liuguichao #15 谢谢楼主!
    virus94
        17
    virus94  
       2019-07-03 10:14:13 +08:00
    高性能 mysql 这本书看一下.
    opengps
        18
    opengps  
       2019-07-03 13:30:39 +08:00
    大部分人都不会经历到单块硬盘不够用的地步,所以一般都是先怎么简单怎么来,后期才非常苛刻的要求存储大小等因素
    b00tyhunt3r
        19
    b00tyhunt3r  
       2019-07-03 14:01:23 +08:00 via iPad
    c++手写
    zgcwkj
        20
    zgcwkj  
    OP
       2019-07-03 14:03:47 +08:00
    @opengps #18 明白了,后期维护问题
    @b00tyhunt3r #19 这,,,有点~~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   987 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:51 · PVG 04:51 · LAX 13:51 · JFK 16:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.