我的复杂系统与收藏品有关。我有各种各样的...电影,书籍,音乐,动作人物,风火轮,连环画,视频游戏等等。每个可收集类型都有多个与之关联的表格,彼此之间有很多不同的参考。如果此数据库继续以新的可收集类型增长,这将导致100个可能的1000个表。
他们共有的桌子很少见。一个是条形码表,它有一个他们都使用的密钥条形码。另一个是user_collection表,它存储所有用户集合,其中collectable_id作为键。但那是关于它的(我可能会遗漏一些,但你明白了。)
我的问题是,从性能的角度来看,最好将它们分成多个数据库(电影,书籍,漫画等),还是将它们保存在一个包含所有表格的数据库中?或者甚至重要吗?
如果我进行拆分,我将如何强制执行上面列出的关系?
答案 0 :(得分:1)
拥有一个数据库总是更好。现代数据库系统旨在处理大量表。跨多个数据库查询更加困难。
此外,您需要考虑恢复。如果您将表拆分为多个数据库,那么当其中一个数据库被销毁时会发生什么?您是否有一组同步的数据库备份 - 因为当您还原一个数据库时,您必须将其他数据库还原到同一点。
答案 1 :(得分:0)
我肯定会建议使用单个数据库,但是,我真的不明白为什么你需要1000个表。 例如,您可以拥有电影,书籍的表格,但根据设计,您可能不需要为每个类别设置单独的表格。 更有可能将所有项目放在一个或两个表中,然后使用类别表,将它们与外键相关联。 即使它确实增长到100个包含1000个项目的表格,但对于设计良好的数据库来说,这不应该是一个问题。