你的位置:首页 > 数据库

[数据库]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


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