多表连接的三种方式详解 hash join、merge join、 nested loop
多表连接的三种方式详解 hash join、merge join、 nested loop
execute immediate的简单用法(oracle)
点击(此处)折叠或打开create or replace procedure proc_test(--参数区域)is --变量区域 --sql脚本 v_sql varchar2(2000) :=''; &n...
普通视图和物化视图的区别
物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。1、物化视图的类型:ON DEMAND、ON COMMIT 二者的区别在于...
oracle物化视图同步两个数据库间的数据
两个oracle 10g 数据库,通过物化视图同步数据的具体实施流程 源库是 192.168.1.81 目标库是192.168.1.96 统计库用的服务器是 81 在统计库81上创建只读用户snap_query,用于查询 conn /as sysdba create user snap_query identified by snap_query default tablespace...
ORACLE 使用records_per_block降低表数据块热块概率
一、创建测试表SQL> create table t_obj as select * from dba_objects; Table created二、创建索引SQL> create index t_obj_ind on t_obj(object_id); Index created 三、收集统计信息SQL> exec dbms_stats.gather_table_stats(user,'t_obj',cascade=>true); PL/SQL procedure successfull...
Oracle 10053 事件
一. 10053事件当一个SQL出现性能问题的时候,可以使用SQL_TRACE 或者 10046事件来跟踪SQL. 通过生成的trace来了解SQL的执行过程。 Oracle SQL Trace 和 10046 事件http://blog.csdn.net/tianlesoftware/archive/2010/09/02/5857023.aspx Event 10053 执行计划 绑定变量 Bind peeking...
利用10046事件收集SQL的trace文件
Event 10046是为Oracle session收集扩展的sql_trace信息的标准方法,通常为了诊断SQL调优类问题,我们需要记录下这些语句在执行过程中产生的等待以及bind variables(绑定变量)的信。 这些信息可以通过级别为12的10046 trace获得。一、trace文件的位置:在11g之前:SQL> show parameter user_dump_dest在11g之后:SQ...
Direct Path Insert与APPEND, PARALLEL的梳理与小结
Oracle里面的写入数据方式分为2种,一个是传统方式写入(conventional insert),另外一个是直接路径写入(direct path insert)。 传统方式写入: Oracle会重用表里面空闲空间,并且写入会先写入到buffer cache。 直接路径写入:...
Oracle执行语句跟踪 使用sql trace实现语句追踪
1、SQL_Plus自动跟踪:set autotrace on explain // 显示执行计划set autotrace traceonly explain // 仅显示执行计划set autotrace on // 显示执行...
v$session中的saddr,paddr和taddr
saddr(session address):表示当前记录的内存地址;paddr(process address):该session对应的进程地址,关联v$process的addr字段,可以通过这个字段查处当前session对应操作系统的那个进程的id;taddr(transation address):当前有活动事务的地址,关联v$transaction表的addr,通过这个字段关联查出当前session正在使用的回滚段的情况,以及当前事务的大小等信息[@more@]
oracle视图可以update吗
create or replace view update_ed as select e.empno,e.ename,d.deptno,d.dname,e.comm from emp e,dept d where e.deptno = d.deptnoselect * from update_ed tupdate update_ed set comm=1000update /*+ BYPASS_UJVC */update_ed set comm=1000update update_ed set ename = 'HANDE' where empno=7654update /*...
会话与事务级临时表和dual表
一、 会话临时表--创建会话临时表create global temporary table tmp_user_session(user_id int, user_name varchar2(20),user_email varchar2(30)) --这句表示 当事务提交时 保留数据on commit preserve rows--向临时表中插入数据insert into tmp_user_session(user_id,user_name,user_email) values(1,...
关于oracle with table as 创建临时表的用法示例以及使用with as 的优点
关于oracle with table as 创建临时表的用法示例1、with table as 相当于建个临时表(用于一个语句中某些中间结果放在临时表空间的SQL语句),Oracle 9i 新增WITH语法,可以将查询中的子查询命名,放到SELECT语句的最前面。语法就是with tempname as (select ....)select ...例子:with t as (select * from...