原来的采集数据表collect_data每天的增量为5亿数据,通过简单的条件查询已经无法满足,所以通过分区的方式进行改造。直接将原来的非分区表改成分区表的sql如下,是将数据按照采集时间的日期进行分区。
alter table collect_data
PARTITION BY LIST (day(collect_time))
(
partition p1 values in(1),
partition p2 values in(2),
partition p3 values in(3),
partition p4 values in(4),
partition p5 values in(5),
partition p6 values in(6),
partition p7 values in(7),
partition p8 values in(8),
partition p9 values in(9),
partition p10 values in(10),
partition p11 values in(11),
partition p12 values in(12),
partition p13 values in(13),
partition p14 values in(14),
partition p15 values in(15),
partition p16 values in(16),
partition p17 values in(17),
partition p18 values in(18),
partition p19 values in(19),
partition p20 values in(20),
partition p21 values in(21),
partition p22 values in(22),
partition p23 values in(23),
partition p24 values in(24),
partition p25 values in(25),
partition p26 values in(26),
partition p27 values in(27),
partition p28 values in(28),
partition p29 values in(29),
partition p30 values in(30),
partition p31 values in(31)
);