在mysql中,我有许多相关的表:
表A在表B中有许多行
表B在表C中有许多行
tablec在tabled中有许多行
我需要非常有规律地从一个表遍历到另一个表,例如在列出表中的记录以及表中相关记录的计数时。这将导致繁琐的代码和潜在的性能瓶颈。
另一种方法是在tabled中创建一个引用tabla的fk。严格地说,这是一个冗余键,但我认为我可以很容易地管理对值的更新(以避免数据完整性问题)。我认为性能的提高将是显著的,代码将更具可读性。
我这样做是不是要进入一个痛苦的世界?还是其他地方的模式?我计划给钥匙贴上标签,这样很明显,这只是一种方便,而不是规范性的参考。
1条答案
按热度按时间0pizxfdo1#
这不是你通常会做的事情。打开正确的索引
tableB
以及tableC
,连接的性能应该足够好。如果您发现这还不够,那么您应该尝试更大胆的措施——例如复制外键。在这种情况下,即使在出现任何性能问题之前,我也没有理由过早地优化数据库。