presto 判断数据量是否大于一个比较小的值的优化
Posted 南宫千寻
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了presto 判断数据量是否大于一个比较小的值的优化相关的知识,希望对你有一定的参考价值。
问题来源于以下场景:
我们需要对一张数据表做导出文件操作,需要判断如果数据量不多的时候,直接导出提供下载,如果数据量超过一定数值,则异步处理导出和下载。
这里就引入一个问题,如果我们直接count一张表,当表比较大的时候,太过耗时:
select count(1) from table;// 数据量大的时候速度慢
需要如何优化?
我们根据自己的需求,是不需要知道数据量具体又多少,只是想知道多不多的问题。
这个时候,我们能不能限制下数据长度,假设我们要判断超过5000数据量时异步导出。那么我们先限定数据量为5001,然后再count,避免扫描所以数据。
select count(1) from (select 1 from table limit 5001);
测试发现,效果还是比较不错的。对大数据表,效果很好。
以上是关于presto 判断数据量是否大于一个比较小的值的优化的主要内容,如果未能解决你的问题,请参考以下文章