日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

概述

本文介紹了分區表的定義及優勢。

PolarDB-X的AUTO模式數據庫中,將數據量較大的邏輯表依據特定的分區規則切割成若干個較小的物理表,此時大的邏輯表稱為分區表,每個小的物理表稱作為分區表的一個分區。PolarDB-X提供了一系列靈活的分區策略,包括KEY、HASH、RANGE、LIST和COHASH,這些規則還可以靈活組合,形成二級分區策略。這樣的設計不僅實現了數據的高效管理,也使得分區策略與MySQL的分區語法保持了高度的兼容性,為用戶提供了便捷和熟悉的操作體驗。

PolarDB-X還為分區表提供了一系列便捷的運維管理能力,包括支持分區的分裂、合并、遷移調度等功能。能夠實現靈活的數據管理,例如可以將特定分區的數據隔離至獨立的存儲節點,或將較大的分區細分為多個小的分區等,提升數據處理的靈活性和效率。

優勢

  • 支持RANGE、RANGE COLUMN、KEY、LIST、LIST COLUMN和COHASH分區及其分區的任意組合二級模板化分區或者二級非模板化分區,使得分區表具有更加靈活的數據分治能力。

  • 支持在分區表上創建全局二級索引(Global Secondary Index),更好地滿足對分區表進行不同維度查詢的索引要求。

  • 支持分區剪枝(Partition Pruning),在查詢數據時,優化器會根據查詢條件和分區元數據自動過濾不符合條件的分區,減少數據掃描。

  • 分區連接(PartitionWise Joins),在連接分區時,根據分區條件將分區表打散成分區與分區之間的連接,過濾不符合條件的分區之間的連接,把連接的數據控制在最小范圍內,提高查詢效率。

  • 支持并行查詢加速,為基于分區的大表方案提供成倍的性能提升。

  • 支持靈活的分區調度管理,方便對不同分區數據進行隔離。

與MySQL分區表的差異

對比項

PolarDB-X分區表

MySQL分區表

分區分布位置

不同分區自動分布到不同的數據節點,實現單機資源的突破

所有分區必須在主節點,共享單機資源。

支持分區策略

  • HASH/KEY

  • RANGE/RANGE COLUMNS

  • LIST/LIST COLUMNS

  • CO_HASH(PolarDB-X特有的分區策略)

  • HASH/KEY

  • RANGE/RANGE COLUMNS

  • LIST/LIST COLUMNS

支持分區函數

(詳細請參見分區函數

HAHS/RANGE/LIST 支持使用函數表達式進行定義,其中

與 MySQL 兼容的分區函數如下

  • YEAR

  • MONTH

  • TO_DAYS

  • TO_SECONDS

  • UNIX_TIMESTAMP

  • DAYOFWEEK

  • DAYOFMONTH

  • DAYOFYEAR

PolarDB-X特有的分區函數

  • TO_MONTHS

  • TO_WEEKS

  • SUBSTR/SUBSTRING(標準的MySQL函數,詳情請參見MySQL SUBSTR

  • RIGHT(標準的MySQL函數,詳情請參見MySQL RIGHT

  • LEFT(標準的MySQL函數,詳情請參見MySQL LEFT

HAHS/RANGE/LIST 支持使用分函數表達式進行定義,其中 MySQL 分區表所允許使用的分區列的函數表達式,請參考

MySQL分區函數列表

MySQL分區表不支持使用字符類型輸入的分區函數,例如:

  • SUBSTR

  • SUBSTRING

  • RIGHT

  • LEFT

哈希分區策略

HASH

  • 使用一致性哈希路由算法。

  • 支持向量分區列,例如Partition By Hash(a,b),詳情請參見HASH分區

  • 使用哈希取模的路由算法。

  • 不支持向量分區列,例如:Partition By Hash(a,b)。

KEY

  • 使用一致性哈希路由算法。

  • 支持向量分區列(默認第1個列參與路由計算),詳情請參見KEY分區

  • 支持熱點散列。

  • 支持前綴分區列等值條件的分區裁剪。

  • 使用哈希取模的路由算法。

  • 支持使用向量分區列(所有列同時參與路由計算)。

  • 無法熱點散列。

  • 不支持前綴分區列等值條件的分區裁剪,必須攜帶所有有分區列的等值條件才能分區裁剪。

CO_HASH

  • PolarDB-X的特有分區策略,詳情請參見CO_HASH分區

  • 支持同時按兩個或多個分區列進行水平分區

  • 各個分區列等值查詢均支持分區裁剪

范圍分區策略

RANGE

支持使用字符類型的分區函數,例如right/left/substr。詳情請參見RANGE分區

不支持使用字符類型的分區函數,例如right/left/substr。

RANGE COLUMNS

默認最多允許5個分區列進行分區定義,可調整參數。詳情請參見RANGE COLUMNS分區

分區列數目不限制。

列表分區策略

LIST

  • 支持定義Default分區。

  • 支持字符類型的分區列。

  • 支持使用字符類型的分區函數,比如,RIGHT/LEFT/SUBSTR。

  • 支持單獨對List分區值的集合進行修改。

  • 詳情請參見LIST分區

  • 不支持定義Default分區。

  • 不支持字符類型的分區列。

  • 不支持使用字符類型的分區函數,例如RIGHT/LEFT/SUBSTR。

  • 無法對單個List分區值的集合進行修改。

LIST COLUNNS

  • 支持定義Default分區。

  • 支持單獨對List Columns分區值的集合進行修改。

  • 詳情請參見LIST COLUMNS分區

  • 不支持定義Default分區。

  • 無法對單個List Columns分區值的集合進行修改。

二級分區

組合策略

一級分區策略(7種)與二級分區策略(7種)的組合完全正交,組合分區策略數目達到49種。

  • Hash/Key分區策略不允許定義二級分區。

  • Range/RangeColumns/List/List Columns共4種分區策略允許定義二級分區,但二級分區策略必須是Hash/Key。

  • 組合分區策略數目是8種。

模板化與非模板化

所有組合策略均支持模板化二級分區與非模板化二級分區兩種用法,詳情請參見二級分區

  • 所有組合策略只支持模板化二級分區的用法。

  • 不支持非模板化二級分區。

二級分區位置分布

  • 支持分區級Locality。

  • 允許通過指定二級分區的Locality的定義,以控制單個二級分區的物理位置的分布。

  • 允許通過指定一級分區的Locality定義,統一控制各一級分區之下的二級分區的物理位置的分布。例如可以讓同一個一級分區下的二級分區都分布在同一個數據節點等等。

不支持分區級Locality

分區級變更

  • PolarDB-X分區表(含二級分區)支持以下的分區定義的變更操作:

    • 分裂分區

    • 合并分區

    • 遷移分區

    • 增加分區

    • 刪除分區

    • 修改分區

    • 重組分區

    • 清空分區

    • 重命名分區

  • 所有分區運維變更均是Online DDL,不會鎖表。

MySQL分區表支持以下分區定義的變更操作:

  • 合并分區

  • 重組分區

  • 增加分區

  • 刪除分區

  • 清空分區

  • 交換分區

大部分的分區級變更均需要鎖表。

分區表重定義

  • 支持將分區表與單表、廣播表之間進行Online互換(需遷移數據)。

  • 分區表重定義操作是Online DDL,不會鎖表。

  • 可通過Remove Partitioning實現分區表與原單表的切換。

  • 分區表重定義過程需要鎖表。

分區列約束

PolarDB-X分區表不要求主鍵、唯一鍵必須包含所有的分區列(包含一級分區與二級分區)。

MySQL分區表要求主鍵、唯一鍵必須包含所有的分區列(包含一級分區與二級分區)。

全局索引

  • 支持全局索引表使用分區表定義。

  • 支持對全局索引表的分區進行單獨運維變更。

沒有全局索引。