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

首頁 > 數據庫 > Oracle > 正文

Oracle中直方圖對執行計劃的影響詳解

2024-08-29 14:00:37
字體:
來源:轉載
供稿:網友

前言

大家應該都知道,在Oracle數據庫中,CBO會默認目標列的數據在其最小值low_value和最大值high_value之間均勻分布,并按照均勻分布原則,來計算目標列

施加查詢條件后的可選擇率以及結果集的cardinality.

如果對目標收集了直方圖,則意味著CBO不再認為目標列上的數據是均勻分布的。CBO會用該列上的直方圖的統計信息計算返回結果集的cardinality.

驗證直方圖對執行計劃的影響步驟:

1、創建一張表T1

oracle,直方圖,執行計劃,查看執行計劃

2、往表中插入傾斜度很高的數據

oracle,直方圖,執行計劃,查看執行計劃

oracle,直方圖,執行計劃,查看執行計劃

oracle,直方圖,執行計劃,查看執行計劃

 

3、在B字段上創建索引

oracle,直方圖,執行計劃,查看執行計劃

4、刪除表中直方圖信息

oracle,直方圖,執行計劃,查看執行計劃

5、查看直方圖信息

oracle,直方圖,執行計劃,查看執行計劃

HISTOGRAM:NONE 代表沒有直方圖信息

6、查詢b=2的執行計劃

oracle,直方圖,執行計劃,查看執行計劃

oracle,直方圖,執行計劃,查看執行計劃

從執行計劃可以看出:查詢走的是全表掃描,因為表T1中的數據被視為了均勻分布,CBO認為走

全表比走索引會更快

7、收集直方圖信息

oracle,直方圖,執行計劃,查看執行計劃

8、查詢直方圖信息

oracle,直方圖,執行計劃,查看執行計劃

oracle,直方圖,執行計劃,查看執行計劃

HISTOGRAM:FREQUENCY 頻率直方圖

可以看出此時表中已經有直方圖信息

9、再次查看b=2的執行計劃

oracle,直方圖,執行計劃,查看執行計劃

oracle,直方圖,執行計劃,查看執行計劃

這個時候可以看出,執行計劃走了索引,結果正確!

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安丘市| 德兴市| 庄浪县| 武宣县| 富平县| 汉中市| 胶南市| 宜兰市| 咸丰县| 隆安县| 大化| 丽水市| 洪雅县| 稷山县| 牙克石市| 新密市| 南澳县| 汽车| 苍溪县| 兴仁县| 巫山县| 宝山区| 易门县| 嘉善县| 新乐市| 全州县| 革吉县| 陆良县| 澄迈县| 丘北县| 北川| 东乡族自治县| 南乐县| 长泰县| 南昌县| 磐石市| 渑池县| 射洪县| 梧州市| 咸丰县| 南平市|