2013-04-10 37 views
0

我有一个问题不同于已经在stackoverflow上的问题。多对单表

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

仅仅因为它们定义了两个独占实体而使两个表分开才有意义吗?或者我应该有一张单独的表格,其中有一列定义它是属于美国还是世界?

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

请帮助和感谢您的期待。

回答

3

将数据保留在小型独立表中可能会产生更好的性能,但根据表的预期大小可能不会引人注意。除非您预计有数亿条记录,否则假设您有需要的索引,那么使用单个表不应该有任何问题。

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

这就是说,如果你的系统的美国部分有明显的差异比世界部分,将保持他们分开的论据。

如果不是,并且现在没有很多努力把它们放到同一张表中,那么现在就应该考虑合并它们。从长远来看,这可能会值得做,并且可能会节省您的时间,甚至可能会防止一些错误。

+0

感谢您的洞察力。 – 2013-04-10 11:40:35

+0

完全不同意。当您尝试为表名称使用变量名称时,诸如sql server等db实现不能最佳运行,这意味着您不能使用泛型代码来访问这两个表。最好使用1个表。 – 2013-04-10 18:41:23