Oracle性能优化之COUNT

Posted sunansheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle性能优化之COUNT相关的知识,希望对你有一定的参考价值。

示例代码

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;

性能优化对比

优化前:


优化后:


以上是关于Oracle性能优化之COUNT的主要内容,如果未能解决你的问题,请参考以下文章

Oracle性能优化之性能调整_超越OCP精通Oracle视频教程培训38

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33

react 性能优化之 componentWillReceiveProps & componentDidUpdate

react 性能优化之 componentWillReceiveProps & componentDidUpdate

Oracle性能优化之性能跟踪工具_超越OCP精通Oracle视频教程培训34

Oracle性能优化之操作系统工具_超越OCP精通Oracle视频教程培训37