count(*)和count(1)的区别
程序员文章站
2024-03-20 22:40:34
...
一、测试数据准备
Create table test1(id number,name varchar2(50),create_time date);
–插入1000000条数据。
begin
for i in 1 ..10000000 loop
insert into test1 values(i,'DBA-FASHION测试' || i,sysdate,'通过');
end loop;
commit;
end;
二、不加索引的情况
#count(*)的sql性能
#count(1)的sql性能
由此看出,没有加索引的情况下,同样的结果集count(*)耗时100473us比count(1)耗时103801us要快。
三、加索引的情况
#count(*)的sql性能
#count(1)的sql性能
由此看出,加索引的情况下,同样的结果集count(*)耗时225649us比count(1)耗时86138us要慢。
四、sql性能总结
1、查询条件中没有索引时,count(*)比count(1)查询速度要快些。
2、查询条件中有索引时,count(1)比count(*)查询速度要快些。
上一篇: MySQL: group by测试
推荐阅读
-
Mysql--count(*)等聚合函数的使用方法
-
mysql count方法的高级用法示例:
-
MySQL知识点补充(不同count()的用法、union执行流程、group by语句)
-
MySQL:count(*),count(1),count(col)效率比较
-
count(*)和count(1)的区别
-
MyBatis中根据用户名实现模糊查询(${}和#{}的区别)
-
表单form的action和ajax使用情况区别
-
PHP中关于include()和require() 的区别问题
-
【Servlet】关于RequestDispatcher的原理(forward 和 include的区别)
-
[JS] 关于 == 和 === 的区别