in general, select COUNT (*) and select COUNT (1) both return the same result
If the table does not have a primary key (Primary key), then count (1) is faster than COUNT (* ),
If there is a primary key, the primary key is the fastest when the condition of Count is the count (primary key)
If your table has only one field, then count (*) is the fastest
Count (*), like the result of Count (1), includes statistics for NULL, and Count (column) is a statistic that does not include null
1. The difference between Select 1 and select *
Selelct Constants from ... For all rows, the return is always only one value, constant. So normal will only be used to determine if there is or not (such as the EXISTS clause). and select * From ... is all columns that return all rows.
The difference in performance, the key to see your from and WHERE clauses. For example, if your where condition can be indexed, then the Select 1 obviously from ... Performance than select * From ... Good.
2. Use of select SUM (1)
Select COUNT (*) returns the number of records that meet the criteria at this time with the Select sum (1)
But sum () can pass arbitrary numbers, negative numbers, floating-point numbers, the returned value is the passed-in value N # satisfies the condition record m
Difference between select COUNT (*) and select COUNT (1) and difference in efficiency