报表设计--如何让查询更优雅

B端系统产品,在业务流程线上化后,数据的存储都保存在数据库中,报表成为了必不可少的模块。但是当业务发展后,越来越多字段冗余到报表中,怎么样的表单设计才能既能满足业务需求,又能最大化地减少查询压力,提高速度呢?

在报表模块,数据查询压力通常会给设计带来大量的考验,而数据查询的速度往往看出模块设计者的产品能力。

在数据量少的时候,即使设计上有缺陷功能也能正常运转,但随着业务发展,数据量上升时,一次次的跨表查询都是对数据库表结构设计的考验。一旦产生大量的数据慢查,导致服务器宕机,所产生的损失那将不可估量。

有可能你辛辛苦苦设计好、测试完成、然后上线了,最后一旦在正式服大数据量的环境下运行后,这个模块崩掉了,用不了,这就很让人绝望了。我也有过这样失败的设计经历,所以我总结了一些在报表查询设计上的思路,让报表的设计更加优雅。

一、场景分离

B端产品,需要认清楚产品的边界在哪里很重要,我们要了解功能的角色-路径-场景是什么,也就是“谁在什么情况下用这个功能,是怎么用的?”。只有清楚了解这些后,才能认清产品的边界,知道这个模块需要做什么功能,不需要做什么功能。

同理,报表设计也可以根据不同的场景,设计不同的查询字段。那么,我们先来了解一下字段的类型:

1.基础字段

基础字段指的是无需运算,直接储存在数据库里的字段数据,比如“姓名,手机号,创建时间”等等。

2.复合字段

复合字段是指需要基础字段通过运算后得出的数据,通常不会直接保存在数据库中,比如,“平均时间、总人数、差额”等等,这部分的数据计算往往会造成一定的运算压力,通常也是造成查询速度慢的直接原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值