TDsql,二級分割槽表,按月分割槽相關問題
a 8-31 10:41:49
請問下關於TDSQL的問題。
TDSQL想要按照月進行二級分割槽,即每個月一個分割槽。以下語句是否可以?
shardkey=cluster_id PARTITION BY RANGE (month(insert_time)) (PARTITION p0 VALUES LESS THAN (202102), PARTITION p1 VALUES LESS THAN (202103), PARTITION p2 VALUES LESS THAN (202104))
按照目前的理解,感覺有個困惑,所以想請教下。LESS THAN 中的 202102 與 month(insert_time)的結果(1-12區間的整數)是如何比較大小,還是 202102其實是 month(202102)再與 month(insert_time)比較?
helper 8-31 10:43:54
CREATE TABLE `employees_hash_range` (
`id`int NOT NULL,
`city` varchar(10),
`fired` DATE NOT NULL DEFAULT '1970.01.01',
PRIMARY KEY(id)
) shardkey=id
PARTITION BY RANGE (month(fired)) (
PARTITION p0 VALUES LESS THAN (202106),
PARTITION p1 VALUES LESS THAN (202107)
);
參考下
a 8-31 10:44:35
這個我看過,所以,這裡有個困惑。202106這個總是大於month(fired)
a 8-31 10:45:19
因為 month(fired)總是在1-12之間,然後不是總小於 202106?
helper 8-31 10:45:38
底層程式碼是這樣寫的
helper 8-31 10:45:43
你可以測試一下
helper 8-31 10:45:58
不用擔心
a 8-31 10:46:35
所以,是會 month(202106)與 month(fired)對比?
a 8-31 10:47:31
只需要寫2個 VALUES LESS THAN ,後續會自增?
helper 8-31 10:47:58
會自增
a 8-31 10:48:43
那我先試試~
a 8-31 10:48:47
多謝