大佬们erp系统怎么解决联表多问题
java吧
全部回复
仅看楼主
level 5
H0neY
楼主
我们公司做erp系统,在查出库订单要联表十几张表,返回上百个字段,这种情况导致sql非常复杂和慢,这种情况怎么解决,重新设计表还是优化sql
2026年01月01日 08点01分
1
level 1
1086露露
很正常
2026年01月01日 13点01分
2
level 8
tdkingness
用搜索引擎,大表
2026年01月01日 13点01分
3
level 1
icchhp1983
最常规的做法是冗余物理表,你可以研究下用友的数据字典
2026年01月01日 17点01分
4
康幼杉0GV70d
[url]https://www.dblens.com/cn?c=1111 [/url] 推荐 国产可视化数据库管理工具 免费还好用,快来试试吧!!!
2026年01月06日 02点01分
level 1
开心的树叶
非实时场景,找空闲时间做数据处理加工;
实时场景,只能修代码,在写入时同步做数据处理
2026年01月01日 23点01分
5
H0neY
数据处理具体咋处理,有点疑惑
2026年01月03日 11点01分
KevinZh
@H0neY
任务跑中间表,比如你需要关联ABCD表,其中AB表你需要A1和B1字段,写一个任务在空闲的时候跑,把这两个数据抓到中间表T,到时候用T+CD表关联
2026年01月05日 02点01分
H0neY
@KevinZh
这是不是只能处理那些表数据不怎么变化的表
2026年01月05日 03点01分
KevinZh
@H0neY
分很多种场景吧,比如我现在做的是订单管理的,一条3000万条订单,每天自动跑T-1的数据,生成汇总数据到汇总表,到时候跑月报就是从这些汇总表再汇总的,要是直接从明细表去汇总,拿数据量能到接近10e了
2026年01月05日 03点01分
level 6
孤剑寒丶
先做个数据加工,
2026年01月02日 00点01分
6
H0neY
意思是应用层并行查询,然后组装数据么
2026年01月03日 11点01分
静以修身º
@H0neY
不不不,只是先闲时加工而已,和5L一个意思。非实时业务做闲时任务处理,实时业务则字段冗余处理。
2026年01月07日 03点01分
level 9
手滑抢人头
很正常,我这边查一百张表,总耗时5ms。响应式编程
2026年01月03日 02点01分
7
饱狗
疑惑😦 点开主页🤔 豁然开朗😆
2026年01月04日 11点01分
贴吧用户_Q4AXEN4
@饱狗
一看就是玩原神的
2026年01月04日 15点01分
你是不是傻吖😈
@手滑抢人头
我这里单表几十万数据量命中索引的情况就已经是10几毫秒了,你100张表才5毫秒,除了我说的那3种情况,绝无其他可能了 机器性能好的情况下,确定没有命中缓存?看过执行计划吗
2026年01月04日 02点01分
暴击92
@你是不是傻吖😈
一眼吹牛逼 要是业务系统100张表5ms 估计是次次命中缓存
2026年01月04日 09点01分
level 1
纸巾ლ
看情况处理,最简单就是优化sql,或者加缓存,加索引之类看看能不能解决。不行就是专门为这个查询功能加表加字段,去维护数据
2026年01月04日 00点01分
8
level 8
你是不是傻吖😈
要查询的数据量不大,联表主键关联压根就不会慢
2026年01月04日 00点01分
9
level 11
暗炎之主º🔥
创建实体化视图
2026年01月04日 01点01分
10
level 14
永记💕
加索引喵,还不行就加中间表抽一张join完的定时跑
2026年01月04日 10点01分
11
难忘の旋律
类似oracle的视图吗
2026年01月05日 00点01分
永记💕
@难忘の旋律
用Oracle的视图也可以吧。不过我一般用的就是直接建个普通的表,然后用调度进行数据同步
2026年01月05日 06点01分
level 1
我的凤凰✆
加服务器,每天早上上班前先查询一遍数据库然后全部放Redis里面
2026年01月04日 10点01分
12
level 7
等待时光也不回
预处理比较靠谱一点吧
2026年01月04日 20点01分
13
level 7
小说家1543
先索引之类的优化sql的方法试试,不行的话看数据的实时性,实时性不高T+1这种,预处理,视图或者表数据凌晨生成就行,再不行业务层组合数据,再不行换数据库。
2026年01月05日 01点01分
14
level 2
混元天尊vs星皇
把接口要求发给ai,让ai来帮忙
2026年01月05日 02点01分
15
1
2
尾页