我在基于Swing的零售ERP(销售点和会计)应用程序中使用H2数据库。
我们的应用程序中有两个数据库,即MainDB和CompanyDB。
主数据库,用于存储所有用户信息和公司信息。每当用户创建公司时,这些数据将存储在MainDB中的company_table中,随后将为每个公司创建CompanyDB。
我们在MainDB和CompanyDB中有相同的主表(大约60个)。无论何时在应用程序中创建或编辑任何主数据库,我都将插入并更新到两个数据库。
最近我开始了解Linked Table,这在很多场合对我很有用。
我的问题是,如果我为CompanyDB中的所有主人创建链接表
我是否只能为CompanyDB中的所有母版提供链接表?
我无法为所有事务和其他表引用外键,因为主表是链接表。没有外键关系是否可以接受?
创建大约60个链接表会降低性能吗?
目前,我对表现非常满意。
请告知并对此有所了解。
谢谢和问候。
答案 0 :(得分:1)
我可以只为CompanyDB中的所有主人设置链接表吗?是的,有可能,甚至认为不常见。这实际上取决于用例。
没有外键关系是否可以接受?如果在MainDB中的两个表之间定义外键关系,那么即使您在CompanyDB中执行更新,仍将检查此关系。您不能跨数据库拥有外键关系,但这是否正常取决于用例。例如,在NoSQL数据库中,您通常没有任何外键关系。
创建大约60个链接表,会降低性能吗?链接表的数量不是问题。但请注意,每个链接表单独比常规表慢。这是否可以接受取决于用例。