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

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

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

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

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

如果要学习数据库相关设计,学习路线有哪些。
5593 次点击
所在节点    问与答
33 条回复
loading
2019-03-22 12:51:27 +08:00
等你真的遇到性能问题时,请个人优化就行,没访问量就不会有性能问题,有访问量就不缺钱了。
bokchoys
2019-03-22 12:54:43 +08:00
@loading #21 好的,谢谢
yaozmban2
2019-03-22 13:50:20 +08:00
@Mazexal 那是否可以从机算计组原理和操作系统原理出发这样作答?
数据要先读进内存,而内存和硬盘的 IO 是直接读取一个分页,分页的大小又是固定的,因此查相同的记录数,字段多的表需要交换的分页数就多,时间损耗就大。
zzzzzzZ
2019-03-22 16:13:07 +08:00
会,不过一般可以无视,表设计的时候注意一下即可
直接的解决方案了解一下“垂直分表”

在总的查询效率上字段数影响只占很小的一部分,只需要保证大数据字段尽可能少即可
决定查询效率大头的永远永远永远都是 SQL 的写法
其次才是索引、存储过程、读写分离、水平分表之类的数据库层面操作

大部分程序员写出来的 SQL 都有很高潜力的效率提升(数倍~数千倍的执行效率),只不过他们不知道而已,我目前开发的 SQL 也没有做到极致,这一门实践的少,只跟大神学过一些小技巧
mumbler
2019-03-22 16:15:30 +08:00
你的数据量还没资格考虑性能问题,大多数产品失败就因为在只有 100 用户的时候考虑一亿用户的情况而死掉的
bokchoys
2019-03-22 16:45:18 +08:00
@mumbler #25 谢谢指导。遇到了问题,只是想学习,谈不上有没有资格。
bokchoys
2019-03-22 16:46:02 +08:00
@zzzzzzZ #24 好的,感谢!
Mazexal
2019-03-22 16:51:02 +08:00
@yaozmban2 差不多吧, 你看看数据库底层存储模型就知道了
xbigfat
2019-03-22 16:52:41 +08:00
@bokchoys 他的意思是,数据量 这个数量没有资格谈性能。。。确实要亿级的数据才会造成性能损失
lookatme
2019-03-22 16:53:27 +08:00
插入操作必然会慢,查询到话,走索引的话基本无差别,走全表查就凉凉了
ihavecat
2019-03-22 19:39:42 +08:00
会的,垂直分表就是一种解决这个的办法
zkeeper
2019-03-23 07:29:54 +08:00
楼上有几位同学说的好, 等真正有性能问题的时候再考虑性能其实也不晚.

但是有个很多人都会忽视的前提条件: 在初期设计的时候, 尽量做到各模块间低耦合性, 否则后期发现某个地方设计缺陷导致性能问题, 再想调整就麻烦了.
bokchoys
2019-03-23 08:48:37 +08:00
@zkeeper #32 谢谢指点

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

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

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

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

© 2021 V2EX