首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么时候你的桌子太多了?

什么时候你的桌子太多了?
EN

Stack Overflow用户
提问于 2010-02-05 07:18:23
回答 4查看 15.8K关注 0票数 19

我和我的两个同事正在建立一个系统,用来做各种水文学和相关的事情。它有很多要求,并且有大量的表。

我们正在处理在这个范围内(水文学)进行的各种采样,我们正在试图找出一种不那么痛苦的方法。

有时我们需要把所有的采样放在一起,我开始认为我们的数据库设计过于复杂了。

您如何或何时知道您过度设计了数据库?当然,我们正在考虑很多范式规则和其他好的实践,但是什么时候可以放弃其中的一个规则,例如不规范化某些东西?

你对此有何看法?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-02-05 07:27:53

Short Answer

你不能担心别的事情。

Long Answer

这听起来像是另一种形式的premature optimization。(YAFPO?)

您应该使用third normal form (3NF)设计您的模式。设计完成后,您应该用数据填充表并开始分析。

如果某个特定的查询被认为代价太高,那么您应该逐个案例地研究denormalization

技术答案(针对那些挑剔的人,他们不可避免地会反对:“你不能”)

根据您选择的RDBMS和/或存储引擎,您将在某一时刻达到一个限制。可能的上限是内存消耗或打开的文件描述符。

票数 18
EN

Stack Overflow用户

发布于 2010-02-05 07:27:06

我们有一个拥有数百个表的系统--这没什么大不了的,只是有很多不同的东西被存储在数据库中。

票数 3
EN

Stack Overflow用户

发布于 2010-02-05 09:23:01

“什么时候你的表太多了?”

在逻辑设计的层面上,正确的答案是“从不”。

在物理设计级别(“拥有一个表”实际上指的是与物理设计相关的一些概念),正确的答案是“如果以及何时您需要执行的查询,由于您正在使用的DBMS的限制,导致性能低到无法接受的程度”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2203967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档