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

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


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3