我有一个与 stackoverflow 上已有的问题不同的问题。
我们有两个实体代表“Foo USA”和“Foo World”,而 Foo 的列在两个表中完全相同,不会出现需要连接和检索这两个表的情况,它们是完全根据定义相互独立。
仅因为它们定义了两个互斥实体而将两个表分开是否有意义?或者我应该有一个表,其中有一列定义它是属于美国还是世界?
将数据保存在小的独立表中会产生更好的性能吗?
请帮助并感谢您的关注。
我有一个与 stackoverflow 上已有的问题不同的问题。
我们有两个实体代表“Foo USA”和“Foo World”,而 Foo 的列在两个表中完全相同,不会出现需要连接和检索这两个表的情况,它们是完全根据定义相互独立。
仅因为它们定义了两个互斥实体而将两个表分开是否有意义?或者我应该有一个表,其中有一列定义它是属于美国还是世界?
将数据保存在小的独立表中会产生更好的性能吗?
请帮助并感谢您的关注。
将数据保存在小的独立表中可能会产生更好的性能,但根据表的预期大小,它可能并不明显。除非您期望有数亿条记录,否则使用单个表应该没有任何问题,假设您有需要的索引。
从开发的角度来看,最好使用单个表,因为一切都变得相同,并且您只需在访问数据时编写和维护一个查询。您不必担心忘记同时包含两者。从这个意义上说,维护起来会更容易。
话虽如此,如果您的系统的美国部分与世界部分有明显差异,那将是保持它们分开的一个论据。
如果不是,并且现在将它们放入同一张表中并不费力,那么您现在应该考虑合并它们。这可能是值得的,从长远来看可能会节省您的时间,甚至可能防止一些错误。