SQL性能调整工具explain plan,set autotrace,10046之间有什么区别
(1)、explain plan并没有真正执行目标SQL,优化器通过收据数据字典等信息,给出的执行计划。所以,得到的执行计划可能是不准的,即与实际的执行计划有偏差。(2)、set autotrace 虽然实际执行了目标SQL,通过跟踪SQL执行时生产的各种信息,分析出执行计划。但在目标SQL中使用了绑定变量的情况下,也可能是不准的。(3)、100...
【ROLLUP】Oracle分组函数之ROLLUP魅力
本文通过演示给出Oracle ROLLUP分组函数的用法,体验一下Oracle在统计查询领域中的函数魅力。ROLLUP分组函数可以理解为Group By分组函数封装后的精简用法,这里同时给出ROLLUP的Group By的改写思路。...
在SQL语句中用PARALLEL指定并行查询
在日常查询中为提供SQL的查询速度,常用到parallel 关键字执行并行查询。1.第一种对下面的SQL对xt.test1 用并行怎么写 ?2.第二种对下面的SQL对2张表都用并行怎么写? select count(*) from xt.test1 a,xt.test2 b where a.xh = b.xh 1. select /...
Oracle 11g 的新特性- 组合触发器 (Compound Triggers)
原文出处: http://www.oschina.net/question/12_62292在以前版本的 Oracle 中,你可通过 FOLLOWS 关键字来控制触发器执行的顺序,例如:?123456...
Orace自定义“周”的开始和结束时间
日常学习小知识记录。原文出处:http://www.itpub.net/thread-1944374-1-1.html一、业务需求业务上规定本周五到下周四为一个“周”,需求是任意给出一段时间,比如2015.10.01 -2015.12.23,按周汇总数据,也就是这段时间的:第一周 100第二周 150第三周 160.......注意如果开始和结束的一周不足7天就不要统计了,...
ORACLE PACKAGE 包 详解
原文:http://blog.sina.com.cn/s/blog_7ed5a80801011p9f.html包是一组相关过程、函数、变量、常量#SinaEditor_Temp_FontName、类型和游标等PL/SQL程序设计元素的组合。包具有面向对象设计的特点,是对这些PL/SQL程序设计元素的封装。一个包由两个分开的部分组成:(1)包package声明或定义:包定义部分是创建包...
oracle中的savepoints是什么
给你个例子SQL> create table test (id number(7));表已创建。SQL> insert into test values (3);已创建 1 行。SQL> savepoint a;保存点已创建。SQL> insert into test values (4);已创建 1 行。SQL> select * from test;ID----------34SQL> rollback to a;回退已完成。SQL> select * from tes...
Oracle同时多表插入insert first&insert all的区别
原文:http://lanying1982.blog.163.com/blog/static/23067748200810122341539/insert first/all利用insert first/all使得INSERT语句可以同时插入多张表,还可以根据判断条件来决定每条记录插入到哪张或哪几张表中。insert first/all语法 [ ALL | FIRST ] WHEN condition THEN insert_in...
Oracle sql语句执行顺序
原文:http://wang286480403.iteye.com/blog/1899915sql语法的分析是从右到左 一、sql语句的执行步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。3)视图转换,将涉及视图的查询语句...
Oracle中的异常处理
Oracle异常
Oracle中的NO_DATA_FOUND系统变量
NO_DATA_FOUND
oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen
Oracle 存储过程 删除表记录时删除不存在的记录也是显示删除成功 2010-03-01 16:56 heaven886 | 分类:数据库DB | 浏览1040次 ...
SQL中PIVOT 行列转换
本文转载处:http://www.studyofnet.com/news/295.html本文导读:T-SQL语句中,Pivot运算符用于在列和行之间对数据进行旋转或透视转换,PIVOT命令可以实现数据表的列转行,同时执行聚合运算,UNPIVOT则与其相反,实现数据的行转列。PIVOT通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必...
FORALL方法批量更新数据简单实例
文修改源:http://www.itpub.net/thread-1941544-1-1.html----创建一张简单的数据表点击(此处)折叠或打开--drop table plch_employees;CREATE TABLE plch_employees( employee_id INTEGER, last_name VARCHAR2 (10...
FORALL用法小结
FORALL 用法小结:作者:sonic 本文主要翻译、整理了ORACLE官方文档上有关FORALL的部份内容,不妥之处,还希望多和大家交流。在发送语句到SQL引擎前,FORALL语句告知PL/SQL 引擎批挷定输入集合。尽管FORALL语句包含一个迭代(iteration)模式,它并不一是个FOR循环。其语法为: FORALL index IN lower_bound..upper_bound sql_statement;一、如何使用批挷定提高性能(How Do Bulk Binds Improve Performance) 在PL/SQL 和SQL引擎(engines)中,太多的上下文切换(context switches)会影响性能。这个会发生在当一个循环为集合中的每个