-
分区表需要分区的字段类型如果是DATETIME格式,但是创建分区字段的时候,必须要DATE格式才能创建,这个有什么好的办法可以保留原始的datetime格式吗?
-
经过测试发现主键模型好像无法创建分区,切换成明细模型就可以。代码如下:
-- 订单信息
CREATE TABLE pims_shop_goods_consume_detail111
(
uuid INT COMMENT '主键id',
account_id INT COMMENT 'XXX',
shop_no INT COMMENT 'XXX(连锁店标识)',
shop_consume_id INT COMMENT 'XXX',
shop_goods_code INT COMMENT 'xxx——项目id',
shop_case_id INT COMMENT 'xx',
create_order_time DATETIME COMMENT '开单时间',
settlement_order_time DATE COMMENT '结算订单时间',
update_time DATETIME COMMENT '数据更新数据'
)
UNIQUE KEY(uuid,account_id,shop_no,shop_consume_id,shop_goods_code)
PARTITION BY RANGE(settlement_order_time)
(
PARTITIONp000000
VALUES [("0000-01-01"), ("2024-01-01")),
PARTITIONp202401
VALUES [("2024-01-01"), ("2024-02-01")),
PARTITIONp202402
VALUES [("2024-02-01"), ("2024-03-01")),
PARTITIONp202403
VALUES [("2024-03-01"), ("2024-04-01")),
PARTITIONp202404
VALUES [("2024-04-01"), ("2024-05-01")),
PARTITIONp202405
VALUES [("2024-05-01"), ("2024-06-01")),
PARTITIONp202406
VALUES [("2024-06-01"), ("2024-07-01")),
PARTITIONp202407
VALUES [("2024-07-01"), ("2024-08-01")),
PARTITIONp202408
VALUES [("2024-08-01"), ("2024-09-01")),
PARTITIONp202409
VALUES [("2024-09-01"), ("2024-10-01")),
PARTITIONp202410
VALUES [("2024-10-01"), ("2024-11-01")),
PARTITIONp202411
VALUES [("2024-11-01"), ("2024-12-01")),
PARTITIONp202412
VALUES [("2024-12-01"), ("2025-01-01"))
)
DISTRIBUTED BY HASH(uuid,account_id,shop_no,shop_consume_id,shop_goods_code)
BUCKETS 48
PROPERTIES (
"replication_allocation" = "tag.location.default: 3",
"enable_unique_key_merge_on_write" = "true"
)