1
nerkeler 2023-12-23 12:46:09 +08:00 via Android
|
2
pannanxu 2023-12-23 13:07:17 +08:00
从设计层面来讲,blog 和 attachment 是两个模块,考虑扩展性最好不要直接写 sqljoin ,应该从应用层做处理。或者是 blog 冗余一份 attachment
|
5
Dongxiaohao 2023-12-23 13:20:12 +08:00 via Android
蹲,也遇到类似的场景,解决办法和 op 一样,把主表的 ID 算出来去多的那张表 in 它的 ID
|
7
vishun 2023-12-23 13:42:43 +08:00
感觉这个和 n+1 问题的解决方法是一致的,第二个 sql 不要再联表了,而是只根据 blogIds 取 attachment 表中所有数据,然后其他的放到应用层处理,group by 一下组装成 blogId 和 attachmentList 的 map ,然后再遍历原有的 blogList ,将 attachementList 附加到 blog 列表中。
|