日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Oracle數(shù)據(jù)庫優(yōu)化器的三種類型

就我個人而言,我很喜歡Oracle,在是實際的相關工作中也對Oracle數(shù)據(jù)庫優(yōu)化器的經(jīng)驗教訓很是喜歡,那么下面就這個問題來進行詳細探討吧!如果你也是Oracle數(shù)據(jù)庫優(yōu)化器優(yōu)化的忠誠粉絲的話,你不要錯過。

Oracle數(shù)據(jù)庫優(yōu)化器共有3種:

a. RULE (基于規(guī)則)

b. COST (基于成本)

c. CHOOSE (選擇性)

為了使用基于成本的優(yōu)化器(CBO, Cost-Based Optimizer) , 你必須定期更新統(tǒng)計信息,以保證Oracle數(shù)據(jù)庫中的對象統(tǒng)計信息(object statistics)的準確性.

如果Oracle數(shù)據(jù)庫優(yōu)化器模式設置為選擇性(CHOOSE),那么實際的優(yōu)化器模式將和是否運行過analyze命令有關. 如果table已經(jīng)被analyze過, 優(yōu)化器模式將自動成為CBO , 反之,數(shù)據(jù)庫將采用RULE形式的優(yōu)化器。

訪問Table的方式

Oracle 采用兩種訪問表中記錄的方式:

a. 全表掃描:全表掃描就是順序地訪問表中每條記錄. Oracle采用一次讀入多個數(shù) 據(jù)塊(database block)的方式優(yōu)化全表掃描。

b. 索引掃描:你可以采用基于ROWID的訪問方式情況,提高訪問表的效率, ROWID包含了表中記錄的物理位置信息.Oracle采用索引(INDEX)實現(xiàn)了數(shù)據(jù)和存放數(shù)據(jù)的物理位置(ROWID)之間的聯(lián)系. 通常索引提供了快速訪問ROWID的方法,因此那些基于索引列的查詢就可以得到性能上的提高.

其中Oracle對索引又有兩種訪問模式.

a)索引唯一掃描 ( INDEX UNIQUE SCAN)大多數(shù)情況下, 優(yōu)化器通過WHERE子句訪問INDEX.

表LOADING有兩個索引 : 建立在LOADING列上的唯一性索引LOADING_PK和建立在MANAGER列上的非唯一性索引IDX_MANAGER.

 
 
 
  1. SELECT loading  
  2. FROM LOADING  
  3. WHERE LOADING = ‘ROSE HILL’;  

在內部 , 上述SQL將被分成兩步執(zhí)行, 首先 , LOADING_PK 索引將通過索引唯一掃描的方式被訪問 , 獲得相對應的ROWID, 通過ROWID訪問表的方式執(zhí)行下一步檢索.如果被檢索返回的列包括在INDEX列中,Oracle數(shù)據(jù)庫優(yōu)化器將不執(zhí)行第二步的處理(通過ROWID訪問表). 因為檢索數(shù)據(jù)保存在索引中, 單單訪問索引就可以完全滿足查詢結果.下面SQL只需要INDEX UNIQUE SCAN 操作.

 
 
 
  1. SELECT LOADING  
  2. FROM LOADING  
  3. WHERE LOADING = ‘ROSE HILL’;  

b)索引范圍查詢(INDEX RANGE SCAN)適用于兩種情況:

1. 基于一個范圍的檢索

2. 基于非唯一性索引的檢索

WHERE子句條件包括一系列值, Oracle將通過索引范圍查詢的方式查詢LODGING_PK . 由于索引范圍查詢將返回一組值, 它的效率就要比索引唯一掃描低一些. 這個SQL的執(zhí)行分兩步, IDX_MANAGER的索引范圍查詢(得到所有符合條件記錄的ROWID) 和下一步同過ROWID訪問表得到LOADING列的值.

由于IDX_MANAGER是一個非唯一性的索引,Oracle數(shù)據(jù)庫不能對它執(zhí)行索引唯一掃描.由于SQL返回LOADING列,而它并不存在于IDX_MANAGER索引中, 所以在索引范圍查詢后會執(zhí)行一個通過ROWID訪問表的操作.WHERE子句中, 如果索引列所對應的值的第一個字符由通配符(WILDCARD)開始, 索引將不被采用.在這種情況下,Oracle將使用全表掃描.以上介紹Oracle數(shù)據(jù)庫優(yōu)化器。


文章標題:Oracle數(shù)據(jù)庫優(yōu)化器的三種類型
標題網(wǎng)址:http://m.5511xx.com/article/codosgg.html