【问题标题】:Multiple Tables or Multiple Databases?多个表或多个数据库?
【发布时间】:2013-06-18 08:10:32
【问题描述】:

场景:-

  • 一个公司会有很多分支机构,会有很多公司注册到系统中。
  • 存储有关每个分支机构的数据的所有表对于所有公司都是相同的。(例如:员工表、服务表等)

问题:-

是否建议为公司分支机构的每个新实例复制表结构,或者为每个注册到系统的新公司使用新数据库?

【问题讨论】:

    标签: mysql database database-design


    【解决方案1】:

    这取决于开发的系统(在线或本地),所需的任务(查询率和报告),

    如果这家公司总是要查询所有分支机构的数据或需要频繁的统计和报告(现在或将来),那么您必须在一个数据库中进行。

    如果您担心性能,那么增强服务器功能,数据库引擎将毫无问题地管理其余部分。

    但是,考虑到数据库设计会对性能产生重大影响,因此您需要通过使用索引、正确的关系以及主要通过了解当前需求和预期的未来需求来做到完美,尽量想象一下当公司拥有最大预期分支机构数时可能需要的每个查询或报告,

    我相信一个数据库就足以应付几乎所有的场景,并且记住拥有多个数据库在未来会非常令人头疼(镜像、同步、报告、维护、备份等)

    【讨论】:

    • 非常感谢您的回答,这是我正在寻找的确切回复。实际上,我们确实必须非常频繁地查询所有公司的数据库,因为客户端需要所有公司的详细信息。
    【解决方案2】:

    更好的结构是有两个表CompaniesCompaniesBranches

    【讨论】:

    • 我有两个表,还有另一组表,例如员工、库存、时间表等。我想知道的是,在添加新分支时,我应该为每个额外的分支重新创建整个表结构,还是只是将所有数据添加到一组表中。感谢您的快速回复阿博!
    • 我不确定,所以也许你应该等待另一个答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    相关资源
    最近更新 更多