a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

Oracle Optimizer:遷移到使用基于成本的優化器-----系列1.1

2024-08-29 13:49:20
字體:
來源:轉載
供稿:網友

  
Oracle Optimizer:遷移到使用基于成本的優化器-----系列1.1

      

假如在Oracle以前的版本(7.0或更早)中開發應用程序,數據庫會采用基于規則的優化器(譯者注:以下稱RBO),本篇將幫助你理解Oracle優化器并遷移到基于成本優化器(譯者注:以下稱CBO)的幾種高效方法.下面是五大部分的第一部分

 

第一部分

1.         什么是優化器?

2.         為什么要優化?

3.         可用的優化器.

4.         為什么要移除RBO?

5.         為什么要遷移到CBO?

 

第二部分

1.         影響CBO的初始化參數.

2.         影響CBO的Oracle內部參數.

 

第三部分

1.         升級至CBO的設置變化.

2.         生成統計資料

3.         DML監視

 

第四部分

1.         提示.

2.         存儲概要

3.         SYS模式的統計資料

 

第五部分

1.         新的權限

2.         怎樣在CBO中分析執行計劃

3.         Oracle application 11i的CBO具體信息

4.         結論

 

1.         什么是優化器?

在Oracle中,執行一個查詢可能有不只一種方法,擁有最佳等級的執行計劃,或者說是最快速度最少成本返回輸出并達到最佳資源利用的執行計劃.優化器生成執行計劃。優化器是運行在數據庫中致力以得到基于不同條件下執行路徑列表的引擎并且選擇運行查詢的最高效執行計劃。一旦執行計劃生成,它將執行輸出。在Oracle中優化器與DML語句有關.

 

2.         為什么要優化?

你知道!優化一個針對執行時以最少時間和最佳的資源利用的查詢,意味著快速和高效。對于資源,意味著CPU利用情況,磁盤輸入輸出,內存消耗和其它范圍的網絡操作。不考慮你的服務器在這些資源上是多么充足,不適當或較不理想的的查詢總是付出昂貴的代價并拖慢你的任務,或者對服務器上的其它處理產生影響.依靠于各種因素的查詢范圍是昂貴的,包括抽取的結果集大小,掃描檢索結果集的數據的大小和系統的即時負荷。適當的語法優化將節省用戶運行時間的消耗和不必要的資源利用。

 

3.         可用的優化器

Oracle有兩種模式的優化器,基于規則和基于成本,它決定了最佳的執行計劃。

本篇重點介紹CBO,簡要概述RBO.

 

3.1          基于規則的優化(RBO)

RBO遵循簡單的分級方法學。
RBO使用15種級別要點,當接收到查詢,優化器將評估使用到的要點數目,然后選擇最佳級別(最少的數量)的執行路徑來運行查詢,15個要點級別如下:

                                       

                  .使用ROWID的單獨記錄

                  .使用簇連接的單獨記錄.

                  .使用散列簇主鍵的單獨記錄.

                  .使用主鍵的單獨記錄.

                  .簇連接.

                  .散列簇連接

                  .索引簇主鍵.

                  .復合主鍵.

                  .單列主鍵.

                  .索引列的結合范圍查找.

                  .索引列的非結合范圍查找.

                  .排序合并連接.

                  .索引列的最大max或min

                  .索引列的order by.

                                 .全表掃描.

        舉例來說,假如生成一個在where子句條件中精確匹配兩列的表的查詢,一列擁有主鍵(對應于使用主鍵的單獨記錄.)而別一列擁有非主鍵(對應于單列主鍵),則RBO更喜歡主鍵(對應于使用主鍵的單獨記錄.),而不是非主鍵(對應于單列主鍵).

當在一個查詢中涉及到要訪問多個表,優化器需要確定那個表是驅動表.RBO生成一組連接順序,每一個表做為第一個表,然后優化器從執行計劃的結果集中選擇最理想的計劃.優化器評估不同條件諸如(最少的嵌套循環,最少的排序合并連接,最佳級別的表訪問路徑,等等),假如仍然不能比較出結果,則優化器會選擇查詢的FROM子句第一個表作為驅動表.因此,常規條件下的編碼實踐將把驅動表放在最右邊.其它的表按訪問順序跟隨在FROM子句中. 也就是說,表的順序是從右到左的訪問順序。

請注重,用以搜索列的操作符也扮演著決定級別的角色,有時甚至考慮索引的時間作為級別

例如下面的表證實了在列1和列2上的索引使用情況,假如它們兩個在where子句上用”=”連接

例:

select * from am79 where col1 = 1 and col2 = 'amar';

      -- here both col1 and col2 are indexed.

 

-------------------------------------------------------------------------------------

              Normal index types                        Index used in RBO

column1(a)     column2(b)    column1+column2(c)       

  -------------------------------------------------------------------------------------

non-unique        non-unique             c

non-unique       non-unique                             a + b

non-unique       non-unique      non-unique             c

unique           non-unique                             a

unique                           non-unique             a

unique           unique                                 b (the most recent index created)

unique           unique          unique                 c

-------------------------------------------------------------------------------------

-The above is tested on Oracle 8.1.7.1.

-In case of non-unique single column indexes, both indexes are used.

-In case of unique indexes, they are not combined for execution plan, any one is taken.

-PReference is given to the index available with the "=" Operator column, than with

others operators.

-Don't create bitmap & function-based indexes, these will not work in RBO.

-------------------------------------------------------------------------------------

 

RBO偏好Oracle早期版本的大多數設置作為執行計劃路徑,這種選擇是統一的。
查詢總會產生同樣的方法對于運行在不同數據庫上相同的應用程序(待續).

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中国产一级毛片 | 免费国产一区 | 久久久久国产精品一区二区三区 | 国产探花在线精品一区二区 | 国产精品美女久久久久久久久久久 | 大胸av| 中文字幕色婷婷在线视频 | www久| 国产区精品| 欧美日韩中文字幕在线 | 天天干天天摸 | 亚洲精品久久久一区二区三区 | 久久久999国产 | 国产精品伦一区二区三级视频 | 欧美黄色网络 | 国产精品久久久久久久久久久新郎 | 电影一区二区在线 | 99热精品在线 | 亚洲欧美另类在线观看 | 欧美日韩亚洲天堂 | 日日干夜夜骑 | 草草网址| 国产中文字幕在线 | 午夜黄色av| 国产精品视频一区二区三区麻豆 | 最新永久地址 | 国产欧美日韩综合精品 | 国产成人久久精品一区二区三区 | 自拍偷拍亚洲欧洲 | 欧美日韩激情在线 | 一二三区在线 | 免费福利视频一区 | 国产免费av在线 | 日本欧美中文字幕 | 精品欧美一区二区三区 | 欧美日韩亚洲三区 | 男人的天堂视频网站 | 欧美精品网站 | 精品国产一级片 | 五月婷婷导航 | 国产亚洲欧美一区 |