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 判断数据量是否大于一个比较小的值的优化的主要内容,如果未能解决你的问题,请参考以下文章

利用python实现二分法

JS基础运算符

(树)判断二叉树是否为BST

JavaScript的条件运算符与条件语句

二分查找

检查列表是不是包含大于 C# 中的值的项目 [关闭]