mysql count提高方法总结

(编辑:jimmy 日期: 2025/1/16 浏览:2)

mysql想必很多程序猿都是不陌生的。很多人在纠结count的用法,怎么样才能查询效果最好。今天来谈谈小编的一些看法,仅供参考。

1、咱们先准备建一个表,并准备好测试数据方便后续步骤测试

以InnoDB引擎表为例

建表语句如下

CREATE TABLE test.test

(

    a VARCHAR(50) NOT NULL COMMENT 'ddfdf',

    b VARCHAR(15) NOT NULL COMMENT 'fds',

    c VARCHAR(20) NOT NULL COMMENT 'asda',

    d VARCHAR(8) NOT NULL COMMENT 'ads',

    e longblob NOT NULL COMMENT 'asda',

    f VARCHAR(2000) COMMENT 'ads',

    g VARCHAR(8) NOT NULL COMMENT 'assd',

    h DATE NOT NULL COMMENT 'adsad',

    z VARCHAR(10) NOT NULL COMMENT 'adsd'

)

ENGINE=InnoDB DEFAULT CHARSET=utf8;

mysql count提高方法总结

2、登陆到mysql并且换数据库

执行建表语句如下图所示

mysql count提高方法总结

3、然后是准备测试数据,简单查一下是否有数据,如下图所示

mysql count提高方法总结

4、接下来开始做测试

在没有where条件的情况下

有人觉得count(*)比count(字段)要快,还有人觉得count(字段)比count(*)要快?

那到底那个快,咱们一试便知,请看下图

根据图中结果显示,明显count(字段)快一些

mysql count提高方法总结

5、那在有where条件的情况呢?count(*)和count(字段)谁更快?

请看下图执行效果

count(*)快一点,可能是数据量太少看不出太明显的效果

mysql count提高方法总结

6、当然可以通过查看执行计划进行分析

在执行的sql前面加上desc或者explain即可,如下图所示

mysql count提高方法总结

最后总结一下1.在没有where条件下,建议count(字段)2.在有where条件的情况下,建议count(*)最后总结一下1.在没有where条件下,建议count(字段)2.在有where条件的情况下,建议count(*)

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。