最近要优化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
1 rows selected in 0.047 seconds
count(*) 方式
select count(*) from item where item='1B241371X0021';
1 rows selected in 0.016 seconds
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 rows selected in 0.015 seconds
从测试的结果看,后两种方式比前一种方式的效率明显要高.