问题来源于如下场景:异步
咱们须要对一张数据表作导出文件操做,须要判断若是数据量很少的时候,直接导出提供下载,若是数据量超过必定数值,则异步处理导出和下载。测试
这里就引入一个问题,若是咱们直接count一张表,当表比较大的时候,太过耗时:大数据
select count(1) from table;// 数据量大的时候速度慢优化
须要如何优化?it
咱们根据本身的需求,是不须要知道数据量具体又多少,只是想知道多很少的问题。table
这个时候,咱们能不能限制下数据长度,假设咱们要判断超过5000数据量时异步导出。那么咱们先限定数据量为5001,而后再count,避免扫描因此数据。select
select count(1) from (select 1 from table limit 5001);下载
测试发现,效果仍是比较不错的。对大数据表,效果很好。im