使用要求
- 拆分鍵的類型必須是DATE、DATETIME或TIMESTAMP其中之一。
- 隻能作為分表函數使用,但不能作為分庫函數。
- PolarDB-X執行個體的版本必須是5.1.28-1320920及其以上的版本。PolarDB-X版本說明請參見 版本說明 。
路由方式
根據分庫鍵的時間值所對應的
一周之中的日期
進行取餘運算并得到分表下标。
使用場景
WEEK适用于按周數的日期目進行分表,分表的表名的下标分别對應一周中的各個日期(星期一到星期天)。
使用示例
假設先按ID對使用者進行分庫,再需要對
create_time
列按周進行分表,并且每周7天(星期一到星期天)各對應一張實體表,則應該使用如下的建表DDL:
-
create table test_week_tb (
-
id int,
-
name varchar(30) DEFAULT NULL,
-
create_time datetime DEFAULT NULL,
-
primary key(id)
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8
-
dbpartition by HASH(name)
-
tbpartition by WEEK(create_time) tbpartitions 7;
注意事項
由于一周共有7天,當按WEEK進行分表時,是以各分庫的分表數不能超過7張。