count(*) 与count(1)的效率

本文通过实际测试对比了SQL中count(*)与count(1)的执行效率,结果显示count(1)通常比count(*)更快,尤其是在大型数据集上。文章提供了具体的测试案例和性能数据,对于理解SQL查询优化具有一定的参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用count(*) 与count(1)的效率,大部分是count(1)效率高,count(*)效率低,具体原因待查

 

db2inst2@gd1:~> time db2 "select count(*) from OT_JNL_VERIFY"

1          
-----------
  225919230

  1 record(s) selected.


real    8m7.084s
user    0m0.016s
sys     0m0.012s
db2inst2@gd1:~> time db2 "select count(1) from OT_JNL_VERIFY"

1          
-----------
  225914539

  1 record(s) selected.


real    6m46.074s
user    0m0.016s
sys     0m0.012s



db2inst2@gd1:~> time db2 "select count(*) from  OT_JNL_QUERY"

1          
-----------
   40924380

  1 record(s) selected.


real    1m45.073s
user    0m0.008s
sys     0m0.020s
db2inst2@gd1:~> time db2 "select count(1) from  OT_JNL_QUERY"

1          
-----------
   40924338

  1 record(s) selected.


real    1m25.203s
user    0m0.008s
sys     0m0.020s

db2inst2@gd1:~> time db2 "select count(*) from  FT_USER_MER_CTRL"

1          
-----------
    4421292

  1 record(s) selected.


real    0m7.255s
user    0m0.012s
sys     0m0.020s
db2inst2@gd1:~> time db2 "select count(1) from  FT_USER_MER_Ctrl"

1          
-----------
    4421305

  1 record(s) selected.


real    0m5.626s
user    0m0.012s
sys     0m0.012s

 

转载于:https://www.cnblogs.com/atwanli/articles/4962380.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值