Normal view

There are new articles available, click to refresh the page.
Yesterday — 9 April 2025Main stream

统计慢的报表一般怎么处理。

By: heganghua
9 April 2025 at 17:20
heganghua: 目前项目有个需求是,优化项目想所有大于 3 秒的接口。
但是在我们的系统里面充斥着几十张各种维度的统计报表。有得需要连表查询六七八张表,有的方法快五千多行快六千行(屎山,暂时不考虑去优化代码了)。
目前想到了有几种方案:
1 、加缓存,每次查询都从缓存里面找,未命中才查库。但是这个问题就是,虽然返回数据不算很多,但是架不住条件多,每个组合起来,key 就多了,服务器内存也不能再加了,所以没有考虑。
2 、考虑使用中间表统一处理, 每个报表建立一张中间表,统一采用定时任务,调用接口,获取最小维度的数据,放入中间表中,前端调用接口时,直接获取中间表的数据然后使用条件过滤,这样再需要去计算以及统计了。但是这种有点复杂,因为领导系统设计成统一的,也就是前端调用同一个接口,后端判断需要获取的是哪个报表,然后根据策略去获取对应中间表的数据。
还有哪些方案可以处理。

你们会在数据库字段里存 json 字符串吗

By: zx9481
9 April 2025 at 15:51
zx9481:

当前项目中存在一个包含 7-8 个级联下拉框的查询模块,其中多数控件具有 3-4 级嵌套关系。考虑将所有枚举数据通过 AI 预处理生成结构化 JSON ,采用单字段存储方案,配合 Redis 持久化缓存,最终直接向前端输出完整数据结构。

大佬们,这种设计是否具备可行性?这种"全家桶"式的处理方式会不会有什么坑?

Before yesterdayMain stream
❌
❌