举个例子,T_A 这张表中,有 T_B.id FK,T_C.id FK,T_D.id FK. 业务上,查询想要带出 T_B.name, T_C.name, T_D.name。这个问题,我想到常见的方案是:1. 数据库下手,加冗余字段,这个方案会引入是更新时也要修改冗余字段,此外,业务上,在页面展示的数据增加额外的列也很常见,那就要再扩充冗余字段。2. 主表查询到结果后,取外键集合在各个外键表用 in id 查询,这个也是我在工程里常用的方式。3. 二级缓存,这就需要设计缓存更新了吧(这个和第二种方式类似,维护一个映射)。除了这三个还有啥思路吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/557195
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.