SQL count(*) 和count(1)的區別

開發中常常會使用這兩個聚合函數,做用都是用來統計記錄行,今天查找資料發現,其實這兩個函數並無區別,數據庫

實踐纔是檢驗的標準,首先看執行計劃(表是我本身創建的):函數

能夠看到,兩個執行計劃徹底同樣,後來查找資料,有人用模擬百萬的數據從新來模擬,發現二者的速度幾乎沒有,select count(1)稍微比select count(*)快不超過0.5秒,數據量越大的時候,反而有時候select count(*)更快,可見如今數據庫的版本對select count(*)已經優化很好了,在實際開發中選擇其中一種均可以。優化

相關文章
相關標籤/搜索