我们围绕业务模型设计了数据库,每种业务类型都有一个表。但是,由于具有几个相似类型的单独表会导致性能问题,我正在考虑将几个相关表展平为一个带有鉴别器列的表,以识别每行的实际子类型。
我们的规范化模型的问题:
由于我们使用的是Hibernate和JPA,因此多态连接很困难,我们无法使用视图。
扁平化的缺点:
This related SO question建议保持标准化设计,但在他们的情况下,子类型只共有100列中的10列。我们的展平表总共包含15列:每个子类共享11个,其他4个由多种类型共享(但不是全部)。
这是一种平整有意义的场景吗?