易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 表连接方式介绍(SML + NL + HJ)

Join是一种试图将两个表结合在一起的谓词,一次只能连接2个表,表连接也可以被称为表关联。在后面的叙述中,我们将会使用”row source”来代替”表”,因为使用row source更严谨一些,并且将参与连接的2个row source分别称为row source1和row source 2。Join过程的各个步骤经常是串行操作,即使相关的row source可以被并行访问,即可以并行的读取做join连接的两个row source的数据,但是在将表中符合限制条件的数据读入到内存形成row source后,join的其它步骤一般是串行的。有多种方法可以将2个表连接起来,当然每种方法都有自己的优缺点,每种连接类型只有在特定的条件下才会发挥出其最大优势。
  row source(表)之间的连接顺序对于查询的效率有非常大的影响。通过首先存取特定的表,即将该表作为驱动表,这样可以先应用某些限制条件,从而得到一个较小的row source,使连接的效率较高,这也就是我们常说的要先执行限制条件的原因。一般是在将表读入内存时,应用where子句中对该表的限制条件。
  根据2个row source的连接条件的中操作符的不同,可以将连接分为等值连接(如WHERE A.COL3 = B.COL4)、非等值连接(WHERE A.COL3 > B.COL4)、外连接(WHERE A.COL3 = B.COL4(+))。上面的各个连接的连接原理都基本一样,所以为了简单期间,下面以等值连接为例进行介绍。
  在后面的介绍中,都已:
  SELECT A.COL1, B.COL2
  from A, B
  WHERE A.COL3 = B.COL4;
  为例进行说明,假设A表为Row Soruce1,则其对应的连接操作关联列为COL 3;B表为Row Soruce2,则其对应的连接操作关联列为COL 4;
  连接类型:
  目前为止,无论连接操作符如何,典型的连接类型共有3种:
  排序 - - 合并连接(Sort Merge Join (SMJ) )
  嵌套循环(Nested Loops (NL) )
  哈希连接(Hash Join)
  排序 - - 合并连接(Sort Merge Join, SMJ)
  内部连接过程:
  1) 首先生成row source1需要的数据,然后对这些数据按照连接操作关联列(如A.col3)进行排序。
  2) 随后生成row source2需要的数据,然后对这些数据按照与sort source1对应的连接操作关联列(如B.col4)进行排序。
  3) 最后两边已排序的行被放在一起执行合并操作,即将2个row source按照连接条件连接起来
  下面是连接步骤的图形表示:
  MERGE
  /\
  SORTSORT
  ||
  Row Source 1Row Source 2
  如果row source已经在


相关文档:

oracle 日期管理函数

oracle 日期函数
 
在oracle数据库的开发中,常因为时间的问题大费周章,所以特地将ORACLE数据的日期函数收藏致此。乃供
他日所查也。
  add_months(d,n) 日期d加n个月
  last_day(d) 包含d的月?的最后一天的日期
  new_time(d,a,b) a?区的日期和??d在b?区的日期和??
  next_day(d,day) 比 ......

Oracle分析函数(同比,环比,累计,基比)

CREATE TABLE salaryByMonth
(
 employeeNo varchar2(20),
 yearMonth varchar2(6),
 salary number
) ;
insert into SALARYBYMONTH (EMPLOYEENO, YEARMONTH, SALARY)
values (1, '200805', 500);
insert into SALARYBYMONTH (EMPLOYEENO, YEARMONTH, SALARY)
values (1, '200802', 150);
in ......

oracle之把表文件导出成文本文件

1 spool
spool d:\test\table.dat
select * from table_name;
spool off
2 sqlplus user/password@sid @test.sql > table.dat
test.sql
     select * from table_name;
     exit; ......

杀Oracle进程

alter system kill session '查出的sid,查出的serial#';
通過數據字典V$SESSION與V$LOCK來瞭解正在等待鎖資源的用戶
select a.username,a.sid,a.serial#,b.id1 from v$session a ,v$lock b
         Where a.lockwait ......

Oracle索引使用规则

首先,我们要确定数据库运行在何种优化模式下,相应的参数是:optimizer_mode。可在svrmgrl中运行“show parameter optimizer_mode"来查看。ORACLE V7以来缺省的设置应是"choose",即如果对已分析的表查询的话选择CBO,否则选择RBO。如果该参数设为“rule”,则不论表是否分析过,一概选用RBO,除非在语句中 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号