问题描述
相关(SQL Server): Count(*) vs Count(1)
你能告诉我什么是更好的性能(MySQL)吗?计数(*)还是计数(1)?
Could you please tell me what is better in performance (MySQL)? Count(*) or count(1)?
推荐答案
这是 MySQL 的答案.
This is a MySQL answer.
它们的执行完全相同 - 除非您使用的是 MyISAM,否则存在 COUNT(*) 的特殊情况.无论如何,我总是使用 COUNT(*).
They perform exactly the same - unless you are using MyISAM, then a special case for COUNT(*) exists. I always use COUNT(*) anyway.
https://dev.mysql.com/doc/refman/5.6/en/aggregate-functions.html#function_count
对于 MyISAM 表,COUNT(*) 被优化为快速返回,如果SELECT 从一张表中检索,不检索其他列,并且没有 WHERE 子句.例如:
For
MyISAMtables,COUNT(*)is optimized to return very quickly if theSELECTretrieves from one table, no other columns are retrieved, and there is noWHEREclause. For example:
mysql> SELECT COUNT(*) FROM student;
此优化仅适用于MyISAM表,因为为此存储引擎存储了精确的行数并且可以非常快速地访问.COUNT(1) 只受相同如果第一列定义为NOT NULL,则优化.
This optimization only applies to MyISAM
tables, because an exact row count is stored for this storage engine
and can be accessed very quickly. COUNT(1) is only subject to the same
optimization if the first column is defined as NOT NULL.
<小时>###编辑你们中的一些人可能错过了幽默的黑暗尝试.我更愿意将此作为一个非重复的问题,以便 MySQL 对 SQL Server 做一些不同的事情.所以我投票重新提出这个问题(答案显然是错误的).
上述MyISAM优化同样适用于
###EDIT Some of you may have missed the dark attempt at humour. I prefer to keep this as a non-duplicate question for any such day when MySQL will do something different to SQL Server. So I threw a vote to reopen the question (with a clearly wrong answer).
The above MyISAM optimization applies equally to
COUNT(*)
COUNT(1)
COUNT(pk-column)
COUNT(any-non-nullable-column)
所以真正的答案是它们总是相同.
So the real answer is that they are always the same.
这篇关于MYSQL count(*) 和 count(1) 哪个更好?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)