oracle个人总结
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个人总结的更多相关文章
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- 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. ...
- 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 服务器安装操 ...
- Oracle 的基本操作符
!= 不等于 select empno,ename,job from scott.emp where job!='manager' ^= 不等于 select empno,ename,job from ...
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- 基于Oracle安装Zabbix
软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传 ...
- Oracle Database 12c Data Redaction介绍
什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...
- 使用Oracle官方巡检工具ORAchk巡检数据库
ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...
- 利用Oracle RUEI+EM12c进行应用的“端到端”性能诊断
概述 我们知道,影响一个B/S应用性能的因素,粗略地说,有以下几个大的环节: 1. 客户端环节 2. 网络环节(可能包括WAN和LAN) 3. 应用及中间层环节 4. 数据库层环节 能够对各个环节的问 ...
- 使用技术手段限制DBA的危险操作—Oracle Database Vault
概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...
随机推荐
- find command in linux terminal
Say you want to search for files with keyword as "keyword". find / -name keyword 2> /de ...
- C++学习网站
1. CPLUSPLUS 2. CPROGRAMMING
- SQL SERVER分区表
简介 分区表是在SQL SERVER2005之后的版本引入的特性.这个特性允许把逻辑上的一个表在物理上分为很多部分.而对于SQL SERVER2005之前版本,所谓的分区表仅仅是分布式视图,也就是多个 ...
- Spring XML配置实现AOP
1: 首先我们要定义 配置成切面的类 package cn.gbx.example; import org.aspectj.lang.ProceedingJoinPoint; import org. ...
- Scrum Meeting--Twelve(2015-11-3)
今日已完成任务和明日要做的任务 姓名 今日已完成任务 今日时间 明日计划完成任务 估计用时 董元财 服务器修改与优化 5h 服务器修改与优化 4h 胡亚坤 客户端数据更新 2h 客户端意见反馈收集 2 ...
- C++ ASSERT() 断言机制
C++ ASSERT() 断言机制 ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行.如果表达式不为0,则继 ...
- compile,build和execute的区别
一个c程序的生成要经历以下步骤: 1.编写文本代码,生成c或cpp文件,这时候它还是文本的: 2.编译,就是compile,由c编译程序对你写的代码进行词法和句法分析,发现并报告错误,有错时编译不能通 ...
- [转载]bigtable 中文版
转载厦门大学林子雨老师的译文 原文: http://dblab.xmu.edu.cn/post/google-bigtable/ Google Bigtable (中文版) 林子雨2012-05-08 ...
- Linux系统/etc/init.d目录
理解Linux系统/etc/init.d目录和/etc/rc.local脚本 http://blog.csdn.net/acs713/article/details/7322082 Linux文件目录 ...
- 关于我们DOM的知识点
DOM的概念及子节点类型 前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析 ...