自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ocacle執(zhí)行計(jì)劃與執(zhí)行順序的代碼示例

數(shù)據(jù)庫(kù) Oracle
以下的文章主要是以O(shè)cacle執(zhí)行計(jì)劃與執(zhí)行順序的實(shí)際應(yīng)用代碼的形式來引出Ocacle執(zhí)行計(jì)劃與執(zhí)行順序的實(shí)際操作步驟。以下就是詳細(xì)內(nèi)容的介紹。

我們?nèi)绻胍私猓?a >Ocacle執(zhí)行計(jì)劃與執(zhí)行順序,就必須的理解Ocacle執(zhí)行計(jì)劃的關(guān)系。其實(shí)Ocacle執(zhí)行計(jì)劃的關(guān)系就好比父子關(guān)系,執(zhí)行計(jì)劃通俗的講,就是一個(gè)樹狀結(jié)構(gòu),頂層的STATEMENT是這棵樹的根。父子關(guān)系按照如下的樹狀結(jié)構(gòu)組織:

 

  1. PARENT   
  2. FIRST CHILD   
  3. SECOND CHILD   

 

在這個(gè)例子里,F(xiàn)IRST CHILD最先執(zhí)行,然后是SECOND CHILD,這兩個(gè)步驟執(zhí)行完畢后,執(zhí)行PARENT。下面是一個(gè)更多層次的結(jié)構(gòu):

 

  1. PARENT1   
  2. FIRST CHILD   
  3. FIRST GRANDCHILD   
  4. SECOND CHILD   

 

FIRST GRANDCHILD是第一個(gè)執(zhí)行的步驟,然后是FIRST CHILD。下面通過一個(gè)真實(shí)的Ocacle執(zhí)行計(jì)劃來驗(yàn)證這個(gè)原則:

 

  1. set autotrace traceonly explain   
  2. select ename,dname from emp, dept   
  3. where emp.deptno=dept.deptno   
  4. and dept.dname in  
  5. (‘ACCOUNTING’,’RESEARCH’,’SALES’,’OPERATIONS’);   
  6. rows selected.   

 

這個(gè)語句的執(zhí)行計(jì)劃如下:

 

  1. Execution Plan  
  2. SELECT STATEMENT Optimizer=CHOOSE (Cost=3 Card=8 Bytes=248)   
  3. HASH JOIN (Cost=3 Card=8 Bytes=248)   
  4. TABLE ACCESS (FULL) OF ‘DEPT’ (Cost=1 Card=3 Bytes=36)   
  5. TABLE ACCESS (FULL) OF ‘EMP’ (Cost=1 Card=16 Bytes=304)   

 

 

注意這個(gè)Ocacle執(zhí)行計(jì)劃的最左邊的兩個(gè)列,第一個(gè)列是步驟的ID,第二個(gè)列是父步驟的ID。執(zhí)行從ID=0的行開始:

0 SELECT STATEMENT Optimizer=CHOOSE (Cost=3 Card=8 Bytes=248)

這個(gè)步驟沒有父步驟,有一個(gè)子步驟(ID=1),所以這個(gè)ID=1的步驟必須在執(zhí)行步驟0之前執(zhí)行。繼續(xù)觀察ID=1的步驟:

1 0 HASH JOIN (Cost=3 Card=8 Bytes=248)

這個(gè)步驟是ID=0的步驟的子步驟,該步驟有2個(gè)子步驟:ID=2和ID=3,因此ID=2和ID=3的步驟必須在ID=1的步驟之前執(zhí)行。再來檢查ID=2的步驟:

2 1 TABLE ACCESS (FULL) OF ‘DEPT’ (Cost=1 Card=3 Bytes=36)

這個(gè)步驟是ID=1的步驟的子步驟,并且該步驟沒有任何子步驟。因此該步驟是這個(gè)SQL語句第一個(gè)執(zhí)行的步驟,這個(gè)步驟產(chǎn)生的結(jié)果集會(huì)提供給ID=1的步驟。這個(gè)步驟是對(duì)表DEPT進(jìn)行全表掃描,這個(gè)步驟的COST=1。

ID=1的步驟也依賴ID=3的步驟:

3 1 TABLE ACCESS (FULL) OF ‘EMP’ (Cost=1 Card=16 Bytes=304)

這個(gè)步驟是ID=1的步驟的第二個(gè)子步驟,沒有任何子步驟,在這個(gè)語句中,是第二個(gè)被執(zhí)行的步驟。

ID=1的步驟將ID=3和ID=3的步驟的結(jié)果集進(jìn)行HASH 連接,然后把結(jié)果交給ID=0的步驟,就完成了本語句的執(zhí)行。

以上的相關(guān)內(nèi)容就是對(duì)Ocacle執(zhí)行計(jì)劃和執(zhí)行順序的內(nèi)容介紹,望你能有所收獲。

【編輯推薦】

  1. Oracle SQL的優(yōu)化規(guī)則解析
  2. Oracle SQL的優(yōu)化的規(guī)則描述
  3. Oracle存儲(chǔ)過程的編寫經(jīng)驗(yàn)總結(jié)
  4. Oracle11g認(rèn)證考試的3個(gè)主要途徑
  5. Oracle數(shù)據(jù)庫(kù)中3種常用的關(guān)閉方式
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-11-10 16:00:05

Oracle執(zhí)行計(jì)劃

2011-09-14 17:03:17

數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃解析

2022-08-15 15:09:26

SQL數(shù)據(jù)庫(kù)MySQL

2021-03-17 09:35:51

MySQL數(shù)據(jù)庫(kù)explain

2015-04-22 14:17:45

SQL SERVERMSSQL SERVE緩沖區(qū)

2023-09-21 10:55:51

MysqlSQL語句

2021-05-28 10:46:36

MySQL執(zhí)行計(jì)劃

2020-09-15 08:44:57

MySQL慢日志SQL

2022-08-08 08:03:44

MySQL數(shù)據(jù)庫(kù)CBO

2009-11-13 16:28:02

Oracle生成執(zhí)行計(jì)

2024-09-12 15:16:14

2022-12-13 08:36:42

D-SMARTOracle數(shù)據(jù)庫(kù)

2022-02-15 07:36:21

SQLEXPLAIN數(shù)據(jù)庫(kù)

2021-04-24 12:01:08

MySQL數(shù)據(jù)庫(kù)Mysql執(zhí)行計(jì)劃

2021-02-20 08:40:19

HiveExplain底層

2009-11-18 17:05:47

捕獲Oracle SQ

2021-09-07 10:43:25

EverDB分布式執(zhí)行

2011-08-18 14:10:51

Oracle不走索引

2024-04-19 13:17:40

PostgreSQLSQL數(shù)據(jù)庫(kù)

2010-07-27 14:46:34

DB2執(zhí)行計(jì)劃
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)