oracle优化原则

1:insert 插入

(1):insert into /*+ append */ NOLOGGING

2: select 查询

(1):/*+ full(v) */ 全表查询 速度慢

(2):/*+ full(v) full(fd) */ 多个表

(3):/*+ parallel(4) */ 检索查询 效率高

3:with 临时表 as
(select * from 表)
只执行一次,效率快。

select * from 临时表 a,表2 b
where a.id = b.id

4:union all(性能高)和Union
并集--追加

5:left join 左连接
交集

6:case 
when ... then...else
when ... then...else
end

7:nvl(count(1),0)
代表:如果值为空则赋一个默认值0,
不为空就为count(1)相当于if...else

8:exists
where exists (select 1 from hcpms_medl_page fmp 
where fmp.visit_no=b.visit_no)

9:查询有条件有多个值(集合)
<isNotEmpty prepend=" " property="kpiCodeList">
<iterate prepend=" and B.KPI_ID in" open="(" close=")"
conjunction="," property="kpiCodeList">
#kpiCodeList[]#
</iterate> 
</isNotEmpty>

10:相等情况判断
<isNotEqual property="visitType" compareValue="0" prepend="AND">
IBM.ATTENDANCE_TYPE = #visitType#
</isNotEqual>

11:分页
SELECT * FROM (SELECT CEIL(ROWNUM /#rows#) PAGE,
B.AhealthcareProviderCode MEDICAL_ORG_CODE
from hcpms_provide_info)
WHERE PAGE=#page#

12:插入示例:批量插入
<![CDATA[
INSERT INTO HCPMS_KPI_DEPT_GL
(ID_KPI_DEPT,
SOCIATION_CODE,
MEDICAL_ORG_CODE,
DEPARTMENT_CODE,
PERIOD,
KPI_TIME,
VISIT_TYPE,
KPI_CODE,
KPI_VALUE,
KPI_PARM1,
KPI_PARM2,
CREATED_BY,
UPDATED_BY,
IS_VALID)
]]>
<iterate conjunction="union all">
<![CDATA[ SELECT SYS_GUID(),
#item[].sociationCode#,
#item[].medicalCode#,
#item[].departmentCode#,
#item[].period#,
#item[].kpiTime#,
#item[].visitType#,
#item[].kpiCode#,
#item[].kpiValue#,
#item[].kpiParm1#,
#item[].kpiParm2#,
#item[].useId#,
#item[].useId#,
#item[].isValid# 
FROM DUAL
]]>
</iterate>

13:修改--更新
update hcpms_kpi_batch
<dynamic prepend=" set ">
<isNotNull prepend="," property="status">
status=#status#
,date_updated=sysdate
</isNotNull>
<isNotNull prepend="," property="tempBatch">
tmp_batch=''
</isNotNull>
</dynamic>
where id_kpi_batch =#kpiId#

oracle个人总结的更多相关文章

  1. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  2. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  3. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  4. Oracle 的基本操作符

    != 不等于 select empno,ename,job from scott.emp where job!='manager' ^= 不等于 select empno,ename,job from ...

  5. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  6. 基于Oracle安装Zabbix

    软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传 ...

  7. Oracle Database 12c Data Redaction介绍

    什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...

  8. 使用Oracle官方巡检工具ORAchk巡检数据库

    ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...

  9. 利用Oracle RUEI+EM12c进行应用的“端到端”性能诊断

    概述 我们知道,影响一个B/S应用性能的因素,粗略地说,有以下几个大的环节: 1. 客户端环节 2. 网络环节(可能包括WAN和LAN) 3. 应用及中间层环节 4. 数据库层环节 能够对各个环节的问 ...

  10. 使用技术手段限制DBA的危险操作—Oracle Database Vault

    概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...

随机推荐

  1. 业务对象(BO)设计

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  2. ZOJ-2338 The Towers of Hanoi Revisited 输出汉诺塔的最优解移动过程

    题意:给定N(1<= N <=64)个盘子和M(4<= M <= 65)根柱子,问把N个盘子从1号柱子移动到M号柱子所需要的最少步数,并且输出移动过程. 分析:设f[i][j] ...

  3. Nginx模块学习之————accesskey权限模块使用(简单的m3u8防盗链)

    配置文件:http://www.cnblogs.com/tinywan/p/5983694.html 通过加密后的文件: 正确地址:curl -i http://访问的IP地址(这里是直播节点IP地址 ...

  4. Python学习(22)python网络编程

    Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的 ...

  5. Java List实体类去重

    版权声明:本文为博主原创文章,未经博主允许不得转载. List特点:元素有放入顺序,元素可重复 Map特点:元素按键值对存储,无放入顺序 Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入 ...

  6. (三)结构体指针、sizeof

    (一)结构体指针定义 今天上班写了一段测试代码,结果在linux下编译出现段错误,刚开始一直找不到原因,后来找了度娘才搞懂了.我先贴出来第一次写的代码以及gcc编译器下报的错误: #include&l ...

  7. 【Todo】LR-逻辑回归

    因为逻辑回归对于计算广告学非常重要.也是我们平时广告推荐.CTR预估最常用到的算法.所以单独开一篇文章讨论. 参考这篇文章:http://www.cnblogs.com/sparkwen/p/3441 ...

  8. iOS开发之真机测试

    profile 位置在  /Users/userName/Library/MobileDevice/Provisioning Profiles /Users/user_lzz/Library/Mobi ...

  9. Poco C++——JSON解析

    #include <iostream> #include "Poco/Dynamic/Var.h" #include "Poco/Dynamic/Pair.h ...

  10. hibernate配置文件中的catalog属性

    在hibernate表的映射文件中 <hibernate-mapping>    <class name="com.sooyie.hibernate.orm.Link&qu ...