freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oracle語句優(yōu)化30個規(guī)則詳解-資料下載頁

2025-04-16 08:14本頁面
  

【正文】 ING=‘ROSEHILL’?! ≡趦?nèi)部 , 上述SQL將被分成兩步執(zhí)行, 首先 , LODGING_PK 索引將通過索引唯一掃描的方式被訪問 , 獲得相對應的ROWID, 通過ROWID訪問表的方式執(zhí)行下一步檢索。  如果被檢索返回的列包括在INDEX列中,ORACLE將不執(zhí)行第二步的處理(通過ROWID訪問表)。 因為檢索數(shù)據(jù)保存在索引中, 單單訪問索引就可以完全滿足查詢結(jié)果?! ∠旅鍿QL只需要INDEX UNIQUE SCAN 操作?! ELECTLODGINGFROMLODGINGWHERELODGING=‘ROSEHILL’。  索引范圍查詢(INDEX RANGE SCAN)  適用于兩種情況:1. 基于一個范圍的檢索  2. 基于非唯一性索引的檢索  例1:  SELECTLODGINGFROMLODGINGWHERELODGINGLIKE‘M%’?! HERE子句條件包括一系列值, ORACLE將通過索引范圍查詢的方式查詢LODGING_PK . 由于索引范圍查詢將返回一組值, 它的效率就要比索引唯一掃描低一些。  例2:    SELECTLODGINGFROMLODGINGWHEREMANAGER=‘BILLGATES’?! ∵@個SQL的執(zhí)行分兩步, LODGING$MANAGER的索引范圍查詢(得到所有符合條件記錄的ROWID)和下一步同過ROWID訪問表得到LODGING列的值。 由于LODGING$MANAGER是一個非唯一性的索引,數(shù)據(jù)庫不能對它執(zhí)行索引唯一掃描?! ∮捎赟QL返回LODGING列,而它并不存在于LODGING$MANAGER索引中, 所以在索引范圍查詢后會執(zhí)行一個通過ROWID訪問表的操作?! HERE子句中, 如果索引列所對應的值的第一個字符由通配符(WILDCARD)開始, 索引將不被采用。在這種情況下,ORACLE將使用全表掃描。   SELECTLODGINGFROMLODGINGWHEREMANAGERLIKE‘%HANMAN’?! ?7. 基礎表的選擇  基礎表(Driving Table)是指被最先訪問的表(通常以全表掃描的方式被訪問)。 根據(jù)優(yōu)化器的不同, SQL語句中基礎表的選擇是不一樣的?! ∪绻闶褂玫氖荂BO (COST BASED OPTIMIZER),優(yōu)化器會檢查SQL語句中的每個表的物理大小,索引的狀態(tài),然后選用花費最低的執(zhí)行路徑?! ∪绻阌肦BO (RULE BASED OPTIMIZER) , 并且所有的連接條件都有索引對應, 在這種情況下, 基礎表就是FROM 子句中列在最后的那個表。blog  舉例:  ,F(xiàn)ROM WORKERA,LODGINGBWHERE =。由于LODGING表的LODING列上有一個索引, 而且WORKER表中沒有相比較的索引, WORKER表將被作為查詢中的基礎表。  28. 多個平等的索引  當SQL語句的執(zhí)行路徑可以使用分布在多個表上的多個索引時, ORACLE會同時使用多個索引并在運行時對它們的記錄進行合并, 檢索出僅對全部索引有效的記錄?! ≡贠RACLE選擇執(zhí)行路徑時,唯一性索引的等級高于非唯一性索引。 然而這個規(guī)則只有當WHERE子句中索引列和常量比較才有效。如果索引列和其他表的索引類相比較。 這種子句在優(yōu)化器中的等級是非常低的?! ∪绻煌碇袃蓚€想同等級的索引將被引用, FROM子句中表的順序?qū)Q定哪個會被率先使用。 FROM子句中最后的表的索引將有最高的優(yōu)先級?! ∪绻嗤碇袃蓚€想同等級的索引將被引用, WHERE子句中最先被引用的索引將有最高的優(yōu)先級。  舉例:  DEPTNO上有一個非唯一性索引,EMP_CAT也有一個非唯一性索引。   SELECTENAME,F(xiàn)ROMEMPWHEREDEPT_NO=20ANDEMP_CAT=‘A’?! ∵@里,DEPTNO索引將被最先檢索,然后同EMP_CAT索引檢索出的記錄進行合并。 執(zhí)行路徑如下:    TABLEACCESSBYROWIDONEMPANDEQUALINDEXRANGESCANONDEPT_IDXINDEXRANGESCANONCAT_IDX  29. 等式比較和范圍比較  當WHERE子句中有索引列, ORACLE不能合并它們,ORACLE將用范圍比較?! ∨e例:  DEPTNO上有一個非唯一性索引,EMP_CAT也有一個非唯一性索引:   SELECTENAMEFROMEMPWHEREDEPTNO20ANDEMP_CAT=‘A’?! ∵@里只有EMP_CAT索引被用到,然后所有的記錄將逐條與DEPTNO條件進行比較。 執(zhí)行路徑如下:     TABLEACCESSBYROWIDONEMPINDEXRANGESCANONCAT_IDX  30. 不明確的索引等級  當ORACLE無法判斷索引的等級高低差別,優(yōu)化器將只使用一個索引,它就是在WHERE子句中被列在最前面的?! ∨e例:  DEPTNO上有一個非唯一性索引,EMP_CAT也有一個非唯一性索引?!  ELECTENAMEFROMEMPWHEREDEPTNO20ANDEMP_CAT‘A’?! ∵@里, ORACLE只用到了DEPT_NO索引。 執(zhí)行路徑如下:   TABLEACCESSBYROWIDONEMPINDEXRANGESCANONDEPT_IDX  譯者按:我們來試一下以下這種情況:  SQLselectindex_name,uniquenessfromuser_indexeswheretable_name=39。EMP39。INDEX_NAMEUNIQUENESEMPNOUNIQUEEMPTYPENONUNIQUESQLselect*fromempwhereempno=2andemp_type=39。A39。norowsselectedExecutionPlan0SELECTSTATEMENTptimizer=CHOOSE10TABLEACCESS(BYINDEXROWID)OF39。EMP39。21INDEX(RANGESCAN)OF39。EMPTYPE39。(NONUNIQUE)  雖然EMPNO是唯一性索引,但是由于它所做的是范圍比較, 等級要比非唯一性索引的等式比較低!28 /
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1