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

首頁 > 數據庫 > Oracle > 正文

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

2020-07-26 14:03:42
字體:
來源:轉載
供稿:網友

前言

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

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

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

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

1、創建一張表T1

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

3、在B字段上創建索引

4、刪除表中直方圖信息

5、查看直方圖信息

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

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

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

全表比走索引會更快

7、收集直方圖信息

8、查詢直方圖信息

HISTOGRAM:FREQUENCY 頻率直方圖

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

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

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

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 康保县| 宝鸡市| 五河县| 正安县| 扶余县| 仁化县| 梨树县| 汝阳县| 文登市| 耒阳市| 阿荣旗| 错那县| 林口县| 乐业县| 新疆| 永平县| 太保市| 湘乡市| 富源县| 平定县| 台前县| 万荣县| 奈曼旗| 镇平县| 兰西县| 常州市| 遂昌县| 怀安县| 连平县| 闵行区| 友谊县| 什邡市| 怀化市| 花莲市| 桑植县| 德江县| 钟山县| 章丘市| 丰台区| 道真| 平乐县|