dongya 最近的时间轴更新
dongya

dongya

V2EX 第 156823 号会员,加入于 2016-01-25 11:50:05 +08:00
今日活跃度排名 10125
dongya 最近回复了
不要用 58 啊 , 用蓝犀牛搬家,在 app 上明码报价
208 天前
回复了 h1t 创建的主题 游戏 S13 总决赛 WBG VS T1,如何评价这场比赛?
看到这个标题 , 我还以为到知乎了呢
232 天前
回复了 jack274 创建的主题 健康 除非迫不得已,请不要给发烧小孩吊水
这, 我小学的时候经常输液。 高中后好像就没有再吊过了, 到现在只打过两次屁股针
234 天前
回复了 vczyh 创建的主题 全球工单系统 语雀挂了
人走茶凉
249 天前
回复了 dai269619118 创建的主题 程序员 网站被劫持了请教下大佬如何解决
上 https 啊
@Ashore 给推荐几个
2023-04-19 16:57:48 +08:00
回复了 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 生成等功能。
以上开源项目中,都涉及到多个业务模块之间的数据关联和聚合查询。可以根据自己的需求选择适合自己的开源项目进行学习。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1108 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 22:47 · PVG 06:47 · LAX 15:47 · JFK 18:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.