ORACLE中的查询转换
一、子查询展开(subquery unnesting)子查询展开分两种:1、要么将子查询中的表或视图拆开来跟外面的表做连接,2、要么不拆开子查询,而是当作一个内嵌视图与外面的表做连接不是所有子查询都会做子查询展开,子查询展开的条件1、子查询展开后的SQL跟原SQL一定要完全等价2、对于子查询不拆开,而是当作一个内嵌视图的子查询展开,改写后的SQL成本之要小于原SQL才行子查询前的where条件是下
ORACLE的游标共享
游标共享(cursor sharing)指的是share cursor的共享做到游标共享很简单,使用绑定变量就可以实现,但是会遇到下面两个问题1、开发人员在开发时,未使用绑定变量,这是如果要用绑定变量,就会大量更改sql.2、使用了绑定变量,但是由于绑定变量窥探的影响,会使某些解析树和执行计划不合时宜针对上面两个问题,分别用两种游标共享来解决1、常规游标共享 ,解决问题1通过参数cursor_sh
ORACLE中的绑定变量
一、绑定变量的作用:variable_name(字母,数字,或者字母数字组合)有效降低硬解析二、绑定变量的典型用法sql中var x number;exec :x :=7876;select * from emp where empno = :x;pl/sql中,例如declare vc_name varchar2(10); begin execut
session cursor 的种类和用法
oracle 中的session cursor分为三种:显式游标(explicit cursor) 隐式游标(implicit cursor) 参考游标(ref cursor)一、隐式游标(implicit cursor) 无处不在,oracle中最常见的游标,只要执行一个SQL或者pl/sql,Oracle就会自动创建一个隐式游标,它的生命周期(open,bind,par
oracle中查看SQL执行计划
查看sql执行计划的执行顺序:先从最开头一直连续往右看,直到看到最右边并列的地方,对不不并列的,靠右的先执行,如果看到并列的,就从上往下看,对于并列的部分,上面的先执行oracle中常见的执行计划一、表的常见执行计划1、table access full2、table access by user rowid3、table access by index rowid二、B tree索引相关的执行计
SQL执行计划查看方法
六种常用的sql执行计划查看
oracle 表连接
oracle 表连接学习概览