大家有为了减少访问数据库的次数而使代码的逻辑复杂度增加的么?

2021-07-16 12:00:43 +08:00
 hahaFck
举个例子:
比如说有个列表,有 50 多个组织,要在列表中对每个组织统计一些数字,这些数字是分散在各个表中,通过逻辑计算出来的。

1.通过循环组织列表,对每个组织进行查询计算,这样是最简单的,但是至少需要访问数据库 50 次。

2.通过一个 sql 将所有组织的数据都查出来,之后在计算。如果能按照组织 id 进行 group by 也算简单,如果不能 group by,就要对所有的数据进行循环处理,放到 Map 里面,key 是组织 id,然而 value 可能是个嵌套了好几层的 Map<String, Map>,取数的时候又要判断 key 是否存在,啰嗦代码一大堆,越看越恶心......

3.也可以通过存储过程实现,不过存储过程的语法怪异,维护也不好维护。
648 次点击
所在节点    程序员
1 条回复
dethan
2021-07-16 13:42:57 +08:00
当然选 2,在合理的情况下,尽量减少访问数据库

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/789879

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX