兩者本質上沒有任何區別。
參見mysql 參考手冊
一、count情況innodb
handlesselect count(*)
andselect count(1)
operations in the same way. there is no performance difference.
1、count(1):可以統計表中所有資料,不統計所有的列,用1代表**行,在統計結果中包含列字段為null的資料;
2、count(字段):只包含列名的列,統計表**現該字段的次數,並且不統計欄位為null的情況;
3、count(*):統計所有的列,相當於行數,統計結果中會包含字段值為null的列;
二、count執行效率
列名為主鍵,count(列名)比count(1)快;列名不為主鍵,count(1)會比count(列名)快;
如果表中多個列並且沒有主鍵,則count(1)的執行效率優於count(*);
如果有主鍵,則select count(主鍵)的執行效率是最優的;如果表中只有乙個字段,則select count(*)最優。
count 和count 1 的區別
create table test1 id number,name varchar2 50 create time date 插入1000000條資料。begin for i in 1 10000000 loop insert into test1 values i,dba fashion測試 i,...
count 1 和count 的區別
count 1 和count 的區別,對這個問題有疑問的可以看看 count 1 其實就是計算一共有多少符合條件的行。1並不是表示第乙個字段,而是表示乙個固定值。我們可以想成表中有這麼乙個字段,這個字段就是固定值1,count 1 就是計算一共有多少個1.同理,count 2 count 3 得到的...
count 1 和count 哪個高效?
當表的資料量大些時,對錶作分析之後,使用count 1 還要比使用count 用時多了!從執行計畫來看,count 1 和count 的效果是一樣的。但是在表做過分析之後,count 1 會比count 的用時少些 1w以內資料量 不過差不了多少。如果count 1 是聚索引,id,那肯定是coun...