dongya's recent timeline updates
dongya

dongya

V2EX member #156823, joined on 2016-01-25 11:50:05 +08:00
dongya's recent replies
不要用 58 啊 , 用蓝犀牛搬家,在 app 上明码报价
Nov 18, 2023
Replied to a topic by h1t 游戏 S13 总决赛 WBG VS T1,如何评价这场比赛?
看到这个标题 , 我还以为到知乎了呢
Oct 25, 2023
Replied to a topic by jack274 健康 除非迫不得已,请不要给发烧小孩吊水
这, 我小学的时候经常输液。 高中后好像就没有再吊过了, 到现在只打过两次屁股针
Oct 23, 2023
Replied to a topic by vczyh 全球工单系统 语雀挂了
人走茶凉
Oct 8, 2023
Replied to a topic by dai269619118 程序员 网站被劫持了请教下大佬如何解决
上 https 啊
@Ashore 给推荐几个
Apr 19, 2023
Replied to a topic by SilenceLL Java 大家一般如何聚合多个 list 的数据
chatgpt 回答

针对这个问题,通常有以下几种解决方案:

在 C 方法中嵌套调用 A 、B 方法,通过 user_id 进行聚合返回 List<UserInfo>。但这种方法存在一个问题,如果数据量较大,调用多次 A 、B 方法,会造成性能问题。

在程序启动时,将 A 方法和 B 方法查询的数据缓存到本地内存或者 Redis 等缓存中,C 方法中直接从缓存中获取并进行聚合返回 List<UserInfo>。这种方法可以提高查询性能,但存在缓存一致性的问题,需要考虑缓存失效策略。

通过 SQL 语句进行关联查询,一次性返回 List<UserInfo>。这种方法可以减少程序调用次数,提高查询性能。但是需要注意的是,对于大数据量的情况,这种方式也可能会导致性能问题,需要根据具体情况进行调优。

针对相对大型且规范的业务项目,可以参考一些开源项目,如:

Apache Shiro:安全框架,提供了完善的身份认证、授权、加密等功能。
Spring Framework:应用程序开发框架,提供了 IOC 、AOP 、事务管理等功能。
MyBatis:持久层框架,提供了 ORM 映射、SQL 生成等功能。
以上开源项目中,都涉及到多个业务模块之间的数据关联和聚合查询。可以根据自己的需求选择适合自己的开源项目进行学习。
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5699 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 106ms · UTC 07:01 · PVG 15:01 · LAX 00:01 · JFK 03:01
♥ Do have faith in what you're doing.