最近上线订单报表的功能,由于月订单量在6位数,因此如果以年为单位查询导出,就面临一次性导出百万级别数据量的情况。当前导出的功能不支持如此大量的数据导出。
这边引入一个“分页导出”的方法,由于本人是产品经理,对于具体的开发实现确实不精通,但是作为产品,需要了解功能实现的逻辑,这样才能和开发进行对话,不至于懵逼,所以产品经理是需要不断学习的职能。
所谓分页导出,就是前台的一次导出请求中,分多次去进行查询,每次指定查询的条数,然后循环去进行查询,直到某次查询的条数为空或者小于你指定的每次查询的条数,则跳出循环。举个栗子,假如查询有101万的数据,按每页10万的数据量进行分页导出,后台每次以10万的数据进行查询导出入一个sheet,会查询11次,最后一次查询的数据量是1万,即不会再有下次查询,导出结束。最终得到的表一共有11个sheet,前10个有10万量的数据,最后一个是1万量的数据。
分页导出的功能可以提升导出的性能瓶颈,原先可能只支持十万数据级别的导出,采用分页导出功能后,可以支持百万级别。当然此功能目前还在方案阶段,也就是理论阶段,还未真正上线,待上线后再来更新。
本文是本号的第一篇文章,在此介绍下本号:本号专注于发表提升产品经理能力的文,欢迎关注。