presto 判断数据量是否大于一个比较小的值的优化

问题来源于如下场景:异步

   咱们须要对一张数据表作导出文件操做,须要判断若是数据量很少的时候,直接导出提供下载,若是数据量超过必定数值,则异步处理导出和下载。测试

 

这里就引入一个问题,若是咱们直接count一张表,当表比较大的时候,太过耗时:大数据

select count(1) from table;// 数据量大的时候速度慢优化

须要如何优化?it

 

咱们根据本身的需求,是不须要知道数据量具体又多少,只是想知道多很少的问题。table

这个时候,咱们能不能限制下数据长度,假设咱们要判断超过5000数据量时异步导出。那么咱们先限定数据量为5001,而后再count,避免扫描因此数据。select

select count(1) from (select 1 from table limit 5001);下载

测试发现,效果仍是比较不错的。对大数据表,效果很好。im

相关文章
相关标签/搜索