国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁乡县| 黎城县| 湖北省| 富锦市| 雷山县| 崇仁县| 会昌县| 邯郸县| 上杭县| 尉氏县| 龙南县| 邹城市| 水城县| 眉山市| 巩义市| 包头市| 沙湾县| 伊川县| 云南省| 鄂尔多斯市| 汪清县| 类乌齐县| 安阳市| 禄丰县| 威信县| 余庆县| 深水埗区| 长乐市| 泗水县| 濮阳县| 无为县| 芦溪县| 瓦房店市| 扎兰屯市| 阿鲁科尔沁旗| 黑山县| 类乌齐县| 专栏| 上杭县| 鄢陵县| 寿宁县|