【发布时间】:2018-04-18 02:18:31
【问题描述】:
在 MySQL 中,我有许多相关的表:
- tableA在tableB中有很多行
- tableB在tableC中有很多行
- tableC在tableD中有很多行
我需要定期从 tableA 遍历到 tableD,例如在列出 tableA 中的记录以及 tableD 中相关记录的计数时。这将导致繁琐的代码和潜在的性能瓶颈。
另一种方法是在 tableD 中创建一个 FK,该 FK 引用回 tableA。严格来说,这将是一个冗余键,但我认为我可以很容易地管理对值的更新(以避免数据完整性问题)。我认为性能提升会很显着,代码也会更易读。
我这样做是不是要进入一个痛苦的世界?或者它是在其他地方看到的模式?我打算给密钥贴上标签,以便清楚地表明它只是为了方便,而不是规范参考。
【问题讨论】:
标签: mysql sql database foreign-keys relational-database