問題來源於如下場景:異步
咱們須要對一張數據表作導出文件操做,須要判斷若是數據量很少的時候,直接導出提供下載,若是數據量超過必定數值,則異步處理導出和下載。測試
這裏就引入一個問題,若是咱們直接count一張表,當表比較大的時候,太過耗時:大數據
select count(1) from table;// 數據量大的時候速度慢優化
須要如何優化?it
咱們根據本身的需求,是不須要知道數據量具體又多少,只是想知道多很少的問題。table
這個時候,咱們能不能限制下數據長度,假設咱們要判斷超過5000數據量時異步導出。那麼咱們先限定數據量爲5001,而後再count,避免掃描因此數據。select
select count(1) from (select 1 from table limit 5001);下載
測試發現,效果仍是比較不錯的。對大數據表,效果很好。im