`
heavenslv
  • 浏览: 81426 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SQL优化 ----- 使用 DECODE 函数来减少处理时间

SQL 
阅读更多

使用 DECODE 函数可以避免重复扫描相同记录或重复连接相同的表.

例如:

SELECT COUNT(*),SUM(SAL)
FROM EMP
WHERE DEPT_NO = 0020
AND ENAME LIKE ‘SMITH%’;
SELECT COUNT(*),SUM(SAL)
FROM EMP
WHERE DEPT_NO = 0030
AND ENAME LIKE ‘SMITH%’;
 

你可以用DECODE 函数高效地得到相同结果

SELECT COUNT(DECODE(DEPT_NO,0020,’X’,NULL)) D0020_COUNT,
COUNT(DECODE(DEPT_NO,0030,’X’,NULL)) D0030_COUNT,
SUM(DECODE(DEPT_NO,0020,SAL,NULL)) D0020_SAL,
SUM(DECODE(DEPT_NO,0030,SAL,NULL)) D0030_SAL
FROM EMP WHERE ENAME LIKE ‘SMITH%’;
 

类似的,DECODE 函数也可以运用于GROUP BY 和ORDER BY 子句中.

分享到:
评论

相关推荐

    decode函数.docx

    decode 函数也可以与其他函数结合使用,例如 LPAD 函数,可以实现一些复杂的字符串处理,例如: ```sql SELECT LPAD(DECODE(COUNT(记录编号),0,1,MAX(TO_NUMBER(记录编号)+1)),14,'0') 记录编号 FROM tetdmis ``` ...

    SQL中 decode()函数简介

    DECODE函数,是ORACLE公司的SQL软件ORACLE PL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名。 今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网...

    sql语句的优化方法

    (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): (2) WHERE子句中的连接顺序.: (3) SELECT子句中避免使用 ‘ * ‘: (4) 减少访问数据库的...(6) 使用DECODE函数来减少处理时间 等优化方法详解

    MYSQL,SQLSERVER,ORACLE常用的函数

    SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- ...

    oracle的sql优化

     多使用Decode函数来作简单的代码和名称间的转换,以减少表关联  使用Truncate替代delete来删除记录,但Truncate数据不记录日志,无法进行回滚  对于复杂的存储过程可以多次提交的数据的要多分多次Commit,否则长...

    SQl优化34条[参考].pdf

    (6)使用 DECODE 函数来减少处理时间 使用 DECODE 函数可以避免重复扫描相同记录或重复连接相同的表。 (7)整合简单 , 无关联的数据库访问 如果您有几个简单的数据库查询语句,可以把它们整合到一个查询中...

    Oracle DECODE函数语法使用介绍

    Oracle DECODE函数功能很强,下面就为您详细介绍Oracle DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解。 Oracle DECODE函数 Oracle DECODE函数是Oracle公司独家提供的功能,它是一个功能很强的...

    Oracle中DECODE()函数的使用法

    DECODE()函数,它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。区别于SQL的其它函数,DECODE函数还能识别和操作空值。本文详细介绍了DECODE函数的语法。

    常用的SQL函数详细讲解

    字符函数 数值函数 日期函数 数据转换函数 decode函数 nvl函数

    SQL 优化原则

    (6) 使用DECODE函数来减少处理时间: 使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表. (7) 整合简单,无关联的数据库访问: 如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使...

    oracle SQL性能优化

    (6) 使用DECODE函数来减少处理时间: 使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表. (7) 整合简单,无关联的数据库访问: 如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使...

    SQL普查优化信息汇总

    考虑更多的使用decode函数,而不是在pl/sql中作判断 一定要周期性的收集信息,及时发现系统中的潜在问题 选择最有效率的驱动表 很多情况下ORACLE并不能为我们的SQL语句选择最有效的驱动表, 在我们自己确定了合适的...

    ORACLE SQL性能优化系列(全)

    非常全面的ORACLE SQL性能优化介绍及实例:优化器的选择、共享SQL语句、访问Table的方式、减少访问数据库的次数、使用DECODE函数、减少对表的查询、通过内部函数提高SQL效率、用NOT EXISTS替代NOT IN、使用EXPLAIN ...

    ORACLE优化SQL语句,提高效率

    我们要做到不但会写SQL,还要做到写出性能优良的SQL语句。  (1)选择最有效率的表名顺序(只在基于规则的... (6)使用DECODE函数来减少处理时间:  使用DECODE函数能够避免重复扫描相同记录或重复连接相同的表。

    sql优化技巧

    sql优化技巧 1.用WHERE子句替换HAVING子句 12 2.使用DECODE函数来减少处理时间 12 3.用>=替代> 13 4.使用表的别名(ALIAS) 13 等等

    oracle函数大全.doc

    SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97...

    oracle中decode函数的使用方法

    含义解释:decode(条件,值1,...这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多 使用方法:1、比较大小

    oracle中decode函数的使用方法示例

    1:使用decode判断字符串是否一样 DECODE(value,if1,then1,if2,then2,if3,then3,…,else) 含义为 IF 条件=值1 THEN  RETURN(value 1) ELSIF 条件=值2 THEN  RETURN(value 2)  …… ELSIF 条件=值n THEN  ...

    ORACLE DECODE函数在中国式报表统计查询中的组合条件实现

    使用DECODE实现统计,是比较常用的。 但是在遇到需要组合条件进行统计时,有时却不如case when 或者另建视图好用。 可是有时就想用DECODE,咋办? 这里给大家介绍一下DECODE如何实现组合条件查询,一句SQL查询一张...

    Oracle、SQLServer、Symfoware、DB2、SYBASE数据库对比语法及函数

    Oracle、SQLServer、Symfoware、DB2、SYBASE数据库对比语法及函数

Global site tag (gtag.js) - Google Analytics