大數據Count的查詢效率

數據級別爲千萬級。使用的是Oracle數據庫數據庫

使用count( 主鍵 )的方式 爲 4分45秒大數據

 

使用count(1) 的方式,查詢時間爲69分45秒 ; 數據量不匹配是由於這個庫一直有人使用。效率

使用count(*) 的方式,查詢時間爲90分33秒分頁

 

結論:查詢大數據量的狀況下,獲得數據庫的總數,效率:count(主鍵)>count(1)>count(*)語法

ps: 在數據量大的狀況,在分頁查詢別顯示總數,只顯示上下頁。 或者 本身創建一個表存儲表名和表對應的總量(能夠稱爲計數器),每次取總量的時候就直接查這個表的字段就能夠了。im

ps:不要使用count(列名)或count(常量)替代count(*),count(*) 就是SQL92定義的標準統計行數的語法,跟數據庫無關,跟NULL和非NULL無關。  count(*)會統計值爲NULL的行,而Count(列名)不會統計此列爲NULL值的行。統計

相關文章
相關標籤/搜索