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

2019-07-02 17:15:01 +08:00
 zgcwkj

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

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

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

2626 次点击
所在节点    数据库
20 条回复
lithiumii
2019-07-02 18:23:23 +08:00
MongoDB 瞎 jb 写就是了
moodasmood
2019-07-02 19:09:23 +08:00
硬盘再大也是有上限的,另外,硬盘不要钱啊
akira
2019-07-02 19:10:48 +08:00
固定长度性能应该是更好
WildCat
2019-07-02 19:12:22 +08:00
Rails 的 ActiveRecord 生成的默认是不带长度的了
loading
2019-07-02 19:13:13 +08:00
用空间换速度
dosmlp
2019-07-02 19:18:54 +08:00
能用就行了
recall704
2019-07-02 19:23:49 +08:00
拍脑袋
zgcwkj
2019-07-02 19:29:27 +08:00
@lithiumii #1 总得设计吧~
@moodasmood #2 硬盘用不了多少的啊
@akira #3 有具体测试过吗?
@WildCat #4 谢谢!
akmissxt
2019-07-02 20:48:22 +08:00
不固定长度?那数据怎么展示?
Kylin30
2019-07-02 20:58:16 +08:00
走一步算一步
moodasmood
2019-07-02 22:59:03 +08:00
@zgcwkj 用不了多少?一张过亿量的表,text 和 varchar 得差多少?另外,想不设计,像#1 说的,mongo 瞎 jb 写就是了,不需要设计
fs20
2019-07-02 23:00:37 +08:00
@lithiumii 我一口水差点喷显示器上,哈哈哈
Takamine
2019-07-02 23:22:25 +08:00
是不是固定长度取决于产品是否以后可能会对这个字段做什么骚操作。:doge:
Takamine
2019-07-02 23:23:03 +08:00
@lithiumii 哈哈哈哈,写得爽,就是贵。:doge:
liuguichao
2019-07-03 10:01:08 +08:00
定长字符串,适合存储 MD5/SHA256,对于需要经常变更的数据,不容易产生碎片;变长字符串,如果频繁的更新,列数据变长的情况下数据行会变长,可能需要调整页数据,甚至分裂页。出现额外的操作,就意味着性能损失。
对于变长字符串 varchar(10)和 varchar(100), 虽然使用的硬盘存储空间一样,但是在内存中进行排序时消耗却不同。
zgcwkj
2019-07-03 10:08:00 +08:00
@liuguichao #15 谢谢楼主!
virus94
2019-07-03 10:14:13 +08:00
高性能 mysql 这本书看一下.
opengps
2019-07-03 13:30:39 +08:00
大部分人都不会经历到单块硬盘不够用的地步,所以一般都是先怎么简单怎么来,后期才非常苛刻的要求存储大小等因素
b00tyhunt3r
2019-07-03 14:01:23 +08:00
c++手写
zgcwkj
2019-07-03 14:03:47 +08:00
@opengps #18 明白了,后期维护问题
@b00tyhunt3r #19 这,,,有点~~

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

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

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

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

© 2021 V2EX