国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

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

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

oracle optimizer:遷移到使用基于成本的優化器-----系列1.3

 

3.2.3     可用cbo模式

cbo有兩種運行模式:all_rows和first_rows.

first_rows的目標是盡可能最快的返回行.這種模式告訴優化器響應時間是最重要的。它偏好嵌套連接方式. first_rows也以考慮成本為主要規則來處理行.通常規則是使用索引的計劃而不是使用全表掃描的計劃作為訪問路徑,order by子句導致索引訪問,等等

從9i版本起,在first提示中行的數量可以在參數中設置,frist_rows_n(n可以是1,10,100 或者1000),隨不同應用程序的需求而設置

all_rows在返回輸出結果以前,對給定的查詢處理所有的行。它迫使優化器考慮最少的資源占用和最佳的吞吐量. all_rows更喜歡排序合并操作

對于一個oltp系統, first_rows對于快速響應時間是一個理想的選項.

對于批處理方向的應用程序意味著使用all_rows.注意,以最快響應時間的返回第n行的計劃可能不是一個理想的計劃,如果系統需求獲得完整的結果.因此應根據應用程序的需要而決定.

當數據庫大小變化時cbo動態調整它的執行路徑,因此如果對于同一個應用程序同樣的查詢,一個數據庫設置中運行很好而在另外的數據庫中運行不良,你不必要理會.如果在兩個數據庫中設置和統計資料不同,這個將會發生..為了防止出現這種情況.得考慮使用優化器持久性.稍后章節將會提到.

 

3.2.3     cbo基初術語

當cbo分析語句時,下列術語將會頻繁使用

 

cost(成本)

在cbo中,成本的計算是涉及到每一個操作單位。邏輯上花費多少成本實際上并沒有文檔化或向外界公布,甚至隨版本的不同而發生變化.

 

cardinality(基數)

索引中單一行的數量和表中行的數量.查詢基數是希望返回行的數量.

 

selectivity(選擇性)

  單一值的數量,被索引列的單一值視為選擇性.舉例來說,如果一個表有10000行,已創建的一個索引在一個列中有4000單一值,那么索引的可選擇性為4000/10000*100=40%,在不為空的列上唯一索引的可選擇性為100%.

 

transitivity(傳遞性)

對于查詢,cbo生成額外謂詞的處理.它使優化器能考慮額外的執行路徑。舉例來說,如果在查詢中提供了a=b and b=c的謂詞,優化器可能會添加額外的謂詞來暗示a=c.

 

statistics(統計資料)

對于各種不同的數據收集許多必須的信息以支持對象..對于cbo執行計劃來說,它是至關重要的。

 

 

join methods(連接方法)

oracle用諸如哈希,合并排序和嵌套連接進行連接.一個查詢可能運行的更快相比較其它的其它方法。對于單個的查詢應該評估連接方法。

 

fts(全表掃描)

全表掃描涉及到查詢,從第一塊到最后分配的塊掃描。對于大表是極其昂貴的,應該避免。

 

index scan(索引掃描)

涉及到通過使用表上一個或更多的索引,一個表上的隨機訪問.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄱阳县| 汉阴县| 五原县| 博客| 丰都县| 上饶县| 裕民县| 喀什市| 泽州县| 澄城县| 镇雄县| 宿迁市| 凤冈县| 垣曲县| 东乌珠穆沁旗| 扎鲁特旗| 邯郸市| 内丘县| 合山市| 渝北区| 祥云县| 宝丰县| 和田县| 临朐县| 靖西县| 图们市| 观塘区| 淮滨县| 镇坪县| 清原| 湟源县| 贵德县| 安吉县| 四子王旗| 祁连县| 江永县| 寿阳县| 铜山县| 浦县| 永川市| 宜宾市|