mysql count 如何提高

mysql想必很多程序猿都是不陌生的 。 很多人在纠结count的用法 , 怎么样才能查询效果最好 。 今天来谈谈小编的一些看法 , 仅供参考 。
工具/原料mysql
方法/步骤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(字段)谁更快?
【mysql count 如何提高】请看下图执行效果
count(*)快一点 , 可能是数据量太少看不出太明显的效果

mysql count 如何提高

文章插图

6当然可以通过查看执行计划进行分析
在执行的sql前面加上desc或者explain即可 , 如下图所示

mysql count 如何提高

文章插图

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

注意事项分享投票点赞 , 是对小编最大的鼓励 。 谢谢~

以上内容就是mysql count 如何提高的内容啦 , 希望对你有所帮助哦!

    推荐阅读