数据库字段多少会影响速度吗

2019-03-22 08:31:17 +08:00
 bokchoys
楼主是学生,不大懂。
服务器阿里云学生机。

用户表里存一堆用户信息,要求多个字段,这样检索会不会很慢。

还有几个问题:
类似用户发帖,是把所有用户发的帖子都放进一张表里吗。

用户的收藏字段,是不是按照一个字段存储多个文章 ID,违反第一范式的设计模式,有什么影响🤔。

如果要学习数据库相关设计,学习路线有哪些。
5577 次点击
所在节点    问与答
33 条回复
ecrazy
2019-03-22 08:38:05 +08:00
字段长度和个数都会有影响。去读官方 documents。
opengps
2019-03-22 08:41:40 +08:00
必然影响啊
bokchoys
2019-03-22 08:43:05 +08:00
几个问题可能很低端,但是对我很有帮助。
有没有论坛的数据库模型可以参考?
5G
2019-03-22 08:46:37 +08:00
@bokchoys #3
你可以参考 discuz 的数据库设计,地址如下:
https://discuzt.cr180.com/discuzcode-db.html
simuhunluo
2019-03-22 08:54:28 +08:00
KV 表去存用户 ID 和收藏帖子 ID 吧。我觉得这样比较好
Mac
2019-03-22 09:01:50 +08:00
关键字:连表查询。虽然现在大数据并不提倡,但对于基础应用,还是很有用的。
Felldeadbird
2019-03-22 09:14:54 +08:00
有影响,但不至于说想象中那么可怕。
数据库设计 我觉得更多是需要 看现有的开源系统,其次是自己工作中实践总结。只有不断踩坑才知道影响的。
我司有一个 150 个字段的单表,只存放了 10W 数据,在日常的频繁查询(连表查询),并没有体会出多大的影响。我觉得在百万内的数据影响都是可以忽略的。只有千万,或者上亿才真正体会到 时间的成本。
Solace202
2019-03-22 09:17:03 +08:00
我们有个表,500 个字段,100w+的数据量,不是特别明显。不过肯定有影响,但是肯定比数据量多少的影响小
bokchoys
2019-03-22 09:17:25 +08:00
@Felldeadbird #7 好的,谢谢
bokchoys
2019-03-22 09:17:37 +08:00
@ecrazy #1 行😂
bokchoys
2019-03-22 09:17:55 +08:00
@5G #4 好,谢谢
liprais
2019-03-22 09:18:29 +08:00
行存储数据库每次读取的时候都是读一行,所以一行要是太长的话肯定对性能有影响的
bokchoys
2019-03-22 09:19:16 +08:00
@Solace202 #8 用的是 mysql 还是其他?
zcmxw1
2019-03-22 09:21:06 +08:00
1.用户表里存一堆用户信息,要求多个字段,这样检索会不会很慢。
会慢,但是不会那么慢。添加合理的索引。几百万以内的数量级没啥问题。
2.类似用户发帖,是把所有用户发的帖子都放进一张表里吗。
还是,几百万数量级内,这样没问题。
3.用户的收藏字段
我觉得还是单独一张表吧。因为用户可能会收藏很多很多文章。一条数据包含 1 个用户,1 个文章。
4.如果要学习数据库相关设计,学习路线有哪些。
我没学过,我不清楚。。
bokchoys
2019-03-22 09:21:20 +08:00
@simuhunluo #5 KV 表是指什么?
bokchoys
2019-03-22 09:22:04 +08:00
@zcmxw1 #14 好的,十分感谢!
Mazexal
2019-03-22 10:13:18 +08:00
主要是对于磁盘 IO 不太好, 数据库是一条一条插入数据的, 一条数据大小和你字段多少是呈正相关的, 字段多的话两条数据之间间隔就大, 就需要更多资源去读取这条数据
mazyi
2019-03-22 10:37:20 +08:00
Solace202
2019-03-22 12:45:23 +08:00
@bokchoys postgreSQL
loading
2019-03-22 12:50:12 +08:00
必然影响,但是可忽略的。
不要啥都没整就关心太多的性能问题。

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

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

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

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

© 2021 V2EX