成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

番外篇:國產數據庫直方圖能力對比

原創
數據庫 其他數據庫
近期看到某群里關于數據庫直方圖的討論,不禁回想起剛學習 Oracle 的時候,為直方圖的設計而感嘆。直方圖可以說是優化器的基礎,對于數據分布不均衡的場景下制定出合理的執行計劃至關重要。

近期看到某群里關于數據庫直方圖的討論,不禁回想起剛學習 Oracle 的時候,為直方圖的設計而感嘆。直方圖可以說是優化器的基礎,對于數據分布不均衡的場景下制定出合理的執行計劃至關重要。那么國產數據庫這方面又如何呢?這里針對幾種常見的國產數據庫的直方圖能力看看能力如何。

1. 直方圖的前世今生

在開始說明國產數據庫直方圖能力之前,先來回顧下直方圖的概念,并以經典數據庫Oracle為代表進行說明下。

1)直方圖概念

直方圖是數據庫用來判斷列中數據分布情況的一種統計信息,屬于列的統計信息。如果數據分布不均勻,查詢優化器需要額外的信息才能做出正確的估算。直方圖正是數據庫為查詢優化器提供更精確的成本估計而設計的一種直方圖數據。其原理是假定存在n個桶(buckets),每個桶代表一個取值或者一個取值范圍,將列中不同的值放入與之對應的桶中,通過這些桶的統計來得到列上數據分布的情況。

2)直方圖分類

基于頻率的直方圖(frequency histogram)

當列的唯一值數量小于或等于桶允許的最大值(254)時,數據庫會使用基于頻率的直方圖。每個值將會占據一個桶。每個桶的高低代表每個值出現的次數。

1.png1.png

基于高度的直方圖(height-balanced histogram)

當列的唯一值數量大于桶數時,數據庫會采用基于高度的直方圖反映數據分布,每個bucket容納相同數量的值。

2.png2.png

其他變體

處理上述直方圖類型外,還有為了反饋更“大眾”數據的TopN直方圖,滿足更準確數據的混合直方圖等等。

3)Oracle 直方圖發展

Oracle 最早在7.3版本引入直方圖,但直到 Oracle 8i 版本后才逐漸成熟并廣泛使用。下表以作為常見的11g版本為分界,對比總結了之前與之后直方圖的功能演進。從下面這一表格中可見直方圖的發展策略,一方面是支持更為多樣的直方圖類型,一方面是增加桶數,滿足更為精準的數據描述,還有就是在文本處理、生成策略等方面的改進。這些也指導了國產數據庫對直方圖能力的支持。

3.png3.png

2. 國產數據庫直方圖能力總結

下面列舉了幾種常見的國產數據庫直方圖的能力,并與Oracle、MySQL加以比較。初步感覺,各國產數據庫都支持了直方圖能力,但支持范圍不同,有些支持更全面些。此外,很多國產數據庫都將直方圖能力作為缺省的統計信息來收集,這點與Oracle 11g不同。

圖片

1)各數據庫直方圖直方圖能力

MySQL

MySQL 從8.0.19版本開始引入了直方圖功能,主要用于優化查詢性能,特別是在無索引列或數據分布不均勻的場景下。MySQL支持兩種直方圖類型,由系統自動選擇:一是等寬直方圖, 每個桶存儲單個值及其頻率,適用于離散值較少的列(如枚舉類型);一是等高直方圖,每個桶存儲值的范圍、頻率和累積分布,適用于連續值或分布范圍較大的列。當桶數量(WITH N BUCKETS)不小于列的唯一值數量時,生成等寬直方圖;否則生成等高直方圖。

DM

5.png5.png

KingBase

6.png6.png

YashanDB

7.png7.png

OceanBase

8.png8.png

2)測試:是否采集直方圖對基數評估影響

下面針對部分國產數據庫做了直方圖的測試。這里構造了一張表,包含10000條記錄,兩個字段FNUM、HNUM分別對應100個和1000個不同值。為了構造傾斜,還將500條數據修改為9999來表示大基數的數值。在收集直方圖時,統一使用200個桶來進行測試。下面表格標題欄[]里為實際記錄數,單元格內為執行計劃中反饋預估行數。從各家執行情況來看,收集直方圖后的評估還是很準確的。

9.png9.png

責任編輯:武曉燕 來源: 韓鋒頻道
相關推薦

2025-03-28 07:33:09

數據庫AI助手設計

2025-04-23 07:31:14

2016-10-19 19:03:18

javascriptes6React Nativ

2012-09-11 11:29:25

2011-11-04 14:07:40

存儲

2011-03-11 09:26:13

2011-03-11 09:14:18

國產數據庫

2024-04-16 08:08:54

DTC國產庫產品

2025-04-08 06:00:00

2023-03-31 17:02:28

2011-03-11 12:51:48

國產數據庫安全

2023-03-06 21:19:19

2022-10-21 07:07:33

TiDBHTAP數據庫

2025-01-09 07:30:49

SQL能力評測

2012-03-16 09:29:47

國產數據庫

2023-12-15 07:34:56

分布式數據庫數據庫租戶軟件架構

2013-11-08 00:45:40

國產數據庫

2011-05-24 10:46:21

國產數據庫安全

2024-04-26 07:36:25

數據庫工具測試

2024-07-16 08:22:09

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 超碰在线99 | 国产一级18片视频 | 亚洲三级黄色片 | 国产xxx| 真实人妻互换毛片视频 | 最新日韩在线 | 欧美一级片 | 国产精品福利在线 | 欧美片网站yy | 亚洲av毛片| www.色婷婷| 狠狠婷婷 | 久久精品视频国产 | 国产这里只有精品 | 欧美三根一起进三p | 中文字幕免费在线 | 色婷婷国产精品综合在线观看 | 动漫av在线 | 国模精品视频一区二区 | 成人激情综合 | 福利视频一区二区 | 亚洲欧美一区二区三区在线 | 久久观看 | 国产suv精品一区 | 99精品久久久久久中文字幕 | 国产精品久久久久久久久久久久久 | 色天使在线视频 | 免费av网站在线观看 | 在线a | 伊人av综合 | 久久在线 | 一级毛片黄色 | 一级片日韩| 蜜臀久久99精品久久久久宅男 | 欧美久久久久久久 | 日韩三级久久 | 深夜免费福利 | 一级真人毛片 | 91丨九色丨蝌蚪丨丝袜 | 手机福利视频 | 日韩欧美中文字幕在线观看 |