Oracle查询记录是否存在的效率问题

最近要优化Oracle数据库的效率,然后在网上查了很多判断记录是否存在的高效率方法
网上有很多的建议第一种方法,我做了一个测试,但是可能数据量不够大,42667条记录,不知道很大的数据量是什么一个情况

网上好多高效的建议方式

select * from item where item='1B241371X0021' and rownum<2;
但是我测试的结果:

select * from item where item='1B241371X0021' and rownum<2;

1 rows selected in 0.047 seconds

count(*) 方式

select count(*) from item where item='1B241371X0021';

1 rows selected in 0.016 seconds

exists方式

select count(*) from dual where exists(select 1 from item where item='1B241371X0021');

1 rows selected in 0.015 seconds

从测试的结果看,后两种方式比前一种方式的效率明显要高.

  1. da shang
    donate-alipay
               donate-weixin weixinpay

发表评论↓↓