95
阿裏雲
子分區__分區_SQL語法參考_雲數據庫 OceanBase-阿裏雲
子分區是分區表中每個分區的再次分割。
語法
...
PARTITON BY RANGE(expr)
SUBPARTITION BY HASH(expr)
...
舉例
CREATE TABLE ts (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(TO_DAYS(purchased))
SUBPARTITIONS 2
(
PARTITION p0 VALUES LESS THAN (1990),
PARTITION p1 VALUES LESS THAN (2000),
PARTITION p2 VALUES LESS THAN MAXVALUE
);
表 ts 有 3 個 RANGE 分區。這 3 個分區中的每一個分區 p0, p1 和 p2 又被進一步分成了 2 個子分區。實際上,整個表被分成了 3 * 2 = 6 個分區。但是,由於 PARTITION BY RANGE 子句的作用,這些分區的頭 2 個隻保存“purchased”列中值小於 1990 的那些記錄。等價於:
CREATE TABLE ts (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(TO_DAYS(purchased))
(
PARTITION p0 VALUES LESS THAN (1990)
(
SUBPARTITION s0,
SUBPARTITION s1
),
PARTITION p1 VALUES LESS THAN (2000)
(
SUBPARTITION s2,
SUBPARTITION s3
),
PARTITION p2 VALUES LESS THAN MAXVALUE
(
SUBPARTITION s4,
SUBPARTITION s5
)
);
幾點要注意的語法項:
- 每個分區必須有相同數量的子分區。
- 如果在一個分區表上的任何分區上使用 SUBPARTITION 來明確定義任何子分區,那麼就必須定義所有的子分區。換句話說,下麵的語句將執行失敗:
CREATE TABLE ts (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(TO_DAYS(purchased))
(
PARTITION p0 VALUES LESS THAN (1990)
(
SUBPARTITION s0,
SUBPARTITION s1
),
PARTITION p1 VALUES LESS THAN (2000),
PARTITION p2 VALUES LESS THAN MAXVALUE
(
SUBPARTITION s2,
SUBPARTITION s3
)
);
即便這個語句包含了一個 SUBPARTITIONS 2 子句,但是它仍然會執行失敗。
每個 SUBPARTITION 子句必須包括 (至少)子分區的一個名字。否則,你可能要對該子分區設置任何你所需要的選項,或者允許該子分區對那些選項采用其默認的設置。
在每個分區內,子分區的名字必須是唯一的,但是在整個表中,沒有必要保持唯一。例如,下麵的 CREATE TABLE 語句是有效的:
CREATE TABLE ts (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(TO_DAYS(purchased))
(
PARTITION p0 VALUES LESS THAN (1990)
(
SUBPARTITION s0,
SUBPARTITION s1
),
PARTITION p1 VALUES LESS THAN (2000)
(
SUBPARTITION s0,
SUBPARTITION s1
),
PARTITION p2 VALUES LESS THAN MAXVALUE
(
SUBPARTITION s0,
SUBPARTITION s1
)
);
最後更新:2016-11-24 11:23:47
上一篇:
key分區__分區_SQL語法參考_雲數據庫 OceanBase-阿裏雲
下一篇:
NULL值處理__分區_SQL語法參考_雲數據庫 OceanBase-阿裏雲
角色管理__用戶及授權管理_安全指南_大數據計算服務-阿裏雲
運行離線任務__應用管理_用戶指南_容器服務-阿裏雲
DMS 登錄雲數據庫__連接實例_快速入門_雲數據庫 Redis 版-阿裏雲
短信或郵件報網站後門__產品常見問題_服務器安全(安騎士)-阿裏雲
查詢實例SSL鏈路__實例管理_API 參考_雲數據庫 RDS 版-阿裏雲
Topic 寫入統計__發布訂閱統計接口_Open API_消息隊列 MQ-阿裏雲
在非阿裏雲的雲服務器上使用服務器安全(安騎士)__產品常見問題_服務器安全(安騎士)-阿裏雲
其它 SDK__SDK使用手冊_消息服務-阿裏雲
ApiHisItem__數據類型_API_API 網關-阿裏雲
RemoveConfigFromMachineGroup__Logtail機器組相關接口_API-Reference_日誌服務-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲