欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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(*)和count(1)的区别

#count(1)的sql性能
count(*)和count(1)的区别

由此看出,没有加索引的情况下,同样的结果集count(*)耗时100473us比count(1)耗时103801us要快。

三、加索引的情况

#count(*)的sql性能
count(*)和count(1)的区别

#count(1)的sql性能
count(*)和count(1)的区别

由此看出,加索引的情况下,同样的结果集count(*)耗时225649us比count(1)耗时86138us要慢。

四、sql性能总结

1、查询条件中没有索引时,count(*)比count(1)查询速度要快些。

2、查询条件中有索引时,count(1)比count(*)查询速度要快些。