1
xwayway 14 天前
报表 3s 就要优化了?那只能把报表结果放入大宽表了
|
2
Mandyer 14 天前
|
3
cccn 14 天前
做个任务中心,提交生成报表的请求,在任务队列中执行。生成完之后网页通知下载。
|
![]() |
5
lifei6671 14 天前
你的报表实际上是对多个表数据的汇总和计算是吧。如果不是实时报表,可以离线计算。如果是实时报表,可以监听 MySQL 的 binlog ,实时建宽表。
|
6
jjx 14 天前 ![]() erp 报表都是这样
1. 表连接多, 什么部门员工,区域,产品,产品类型, 品牌, 单位,仓库,库位,合作伙伴等等, 搞得数据冗余没法做 2. 查询条件多, 且不断的增加, 索引最后没法可加, 总不能都加上 3. 查询结果要精确,你搞个全文检索是不行的, 用户不认可 5. 查询条件多+粒度细, 导致 你想用缓存结果没法处理, 因为条件多变,缓存通常不匹配 6. 报表必须得有小计和总计,导致查询最少要两次, 一次汇总一次明细 等等 通常优化了一次, 下次需求进去就直接打回原形 sap 就很取巧, 搞了个 HANA 内存数据库, 弄个几十上百 g 内存, 将关系数据库全部搬到内存中去搞 |
![]() |
7
lyxxxh2 13 天前
|
8
Tinyang 13 天前
数据定时聚合到另一张表里面。然后单表查询这张聚合表
|
9
cosen 13 天前
1.按照报表优先级可以每天凌晨提前预热到缓存
2.预聚合做成大宽表 |
![]() |
10
cheng6563 13 天前
报表 3 秒....搞成异步的,接口时间就下来了。
|
![]() |
18
lyxxxh2 13 天前
@heganghua
查询接口还做幂... 我们只有 cud 做。 前端倒是做了表格 loading,但是没禁用查询按钮。 用的 fpm,也在同事本地的 wsl2 测试过。 点了十几次查,把他电脑也干死机了,只能强制电源键重启。 |
19
spritecn 13 天前
现在的标准解不是 MQ + ES 么,还是我过时了
|