开发者社区> 问答> 正文

什么是MYSQL count(*)或count(1)更好的选择??mysql

您能告诉我什么是性能更好的(MySQL)吗?Count(*)还是count(1)?

展开
收起
保持可爱mmm 2020-05-17 17:47:38 462 0
1 条回答
写回答
取消 提交回答
  • 这是MySQL的答案。

    它们的性能完全相同-除非您使用MyISAM,否则COUNT()存在特例。COUNT()无论如何我总是用。

    http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html#function_count

    如果SELECT从一个表中检索,没有其他列被检索,并且没有WHERE子句,则COUNT(*)被优化以非常快地返回。例如:

    mysql> SELECT COUNT(*) FROM student; 此优化仅适用于MyISAM表,因为为该存储引擎存储了准确的行数,并且可以非常快速地对其进行访问。对于诸如InnoDB之类的事务存储引擎,存储准确的行数会带来更多问题,因为可能发生多个事务,每个事务都可能影响计数。

    编辑 你们当中有些人可能错过了幽默的黑暗尝试。当MySQL将做与SQL Server不同的事情时,我宁愿将此问题保留为任何重复的问题。因此,我投了赞成票重新提出问题(答案显然错误)。

    以上MyISAM优化同样适用于

    COUNT(*) COUNT(1) COUNT(pk-column) COUNT(any-non-nullable-column) 因此,真正的答案是它们始终相同。来源:stack overflow

    2020-05-17 17:59:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像