多表与单表

时间:2013-04-10 02:45:30

标签: database database-design relational-database

我遇到的问题与stackoverflow上的问题不同。

我们有两个实体代表“Foo USA”和“Foo World”,而Foo的列在两个表中完全相同,不会有这两个表需要连接和检索的情况,它们的定义完全相互独立。

将两个表分开只是因为它们定义了两个独占实体是否有意义?或者我应该有一个单独的表,其中有一列定义它是属于美国还是世界?

将数据保存在小型独立表中会产生更好的性能吗?

请帮忙,谢谢你们。

1 个答案:

答案 0 :(得分:3)

将数据保存在小的独立表中可能会产生更好的性能,但根据表的预期大小,它可能不明显。除非您期望有数亿条记录,否则使用单个表时应该没有任何问题,假设您有所需的索引。

从开发的角度来看,单个表将是首选,因为一切都变得相同,您只需在访问数据时编写和维护一个查询。您不必担心忘记包括两者。从这个意义上来说,维护会更容易。

如果说你的系统中的美国部分与WORLD部分有显着差异,那将是将它们分开的论据。

如果没有,并且现在将它们放入同一个表中并没有太多的努力,那么你应该考虑现在合并它们。它可能值得做,从长远来看可能会节省你的时间,甚至可能防止一些错误。