共计 894 个字符,预计需要花费 3 分钟才能阅读完成。
自动写代码机器人,免费开通
mysql 想必很多程序猿都是不陌生的。很多人在纠结 count 的用法,怎么样才能查询效果最好。今天来谈谈丸趣 TV 小编的一些看法,仅供参考。
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;
2、登陆到 mysql 并且换数据库
执行建表语句如下图所示
3、然后是准备测试数据,简单查一下是否有数据,如下图所示
4、接下来开始做测试
在没有 where 条件的情况下
有人觉得 count(*) 比 count(字段) 要快,还有人觉得 count(字段) 比 count(*) 要快?
那到底那个快,咱们一试便知,请看下图
根据图中结果显示,明显 count(字段) 快一些
5、那在有 where 条件的情况呢?count(*) 和 count(字段) 谁更快?
请看下图执行效果
count(*) 快一点,可能是数据量太少看不出太明显的效果
6、当然可以通过查看执行计划进行分析
在执行的 sql 前面加上 desc 或者 explain 即可,如下图所示
最后总结一下 1. 在没有 where 条件下,建议 count(字段)2. 在有 where 条件的情况下,建议 count(*) 最后总结一下 1. 在没有 where 条件下,建议 count(字段)2. 在有 where 条件的情况下,建议 count(*)
向 AI 问一下细节
丸趣 TV 网 – 提供最优质的资源集合!