Oracle性能优化之COUNT

来源:互联网 发布:java项目网站 编辑:程序博客网 时间:2024/05/17 23:07

示例代码

SELECT COUNT(1)  INTO l_count  FROM gl_je_headers h WHERE h.je_source != '13'   AND h.attribute1 != '100005';   IF l_count > 0 THEN  ...ELSE  ...END IF;

我们在写PLSQL代码的时候,经常会出现类似上面的代码:查询表中是否存在满足某些条件的数据,如果存在做处理1,如果不存在做处理2。

当查询的表数据比较多的时候,需要遍历表,速度可能比较慢。如果我们在SQL语句中添加AND rownum = 1,那么当在表中找到一条数据,就不再继续找下面的数据了,提高性能。


优化后的代码:

SELECT COUNT(1)  INTO l_count  FROM gl_je_headers h WHERE h.je_source != '13'   AND h.attribute1 != '100005'   AND rownum = 1;   IF l_count > 0 THEN  ...ELSE  ...END IF;

性能优化对比

优化前:


优化后:


4 0
原创粉丝点击