BI 前端实践 3:较大数据量的 SQL 多维分析

本文探讨了在BI前端如何处理大计算量SQL进行多维分析,通过缓存结果集提高响应速度。介绍了对大结果集SQL的缓存优化,包括使用二进制格式代替txt格式以减少加载时间,并展示了在大报表中展示大结果集明细的解决方案,以避免内存溢出问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实践目标

体验较大计算量和较大结果集SQL在多维分析中的响应表现,用缓存方式提高响应速度;多维分析的报表中展示大量明细数据时,用大报表技术避免耗用过多内存、甚至内存溢出。

大计算量SQL做多维分析

下面这个SQL查询出平均工资最高的五万员工,需要大表employees(30万条)、salaries(284万条)关联、做分组汇总、最后按平均工资排序:

页面在60秒之后才显示出结果:

把性别拖到左表头上,统计这五万人中男、女性员工各有多少,这个动作仍然需要等待60秒才会显示结果,原因是每次分析动作,都会基于原始SQL拼一个更大的嵌套SQL去数据库执行,原始SQL慢就决定了每个分析动作都会慢。

对大计算量SQL结果缓存,避免频繁执行

把上面这个大计算量的SQL,换成Tablib属性方式设置,就会对SQL结果集进行缓存,第一次展示页面时,因为要去数据库查询仍然会慢,但之后再做各种多维分析动作,就立即响应,达到了对SQL结果集缓存、复用的效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值