要创建MySQL子分区表,需要按照以下步骤操作:
CREATE TABLE parent_table (
    id INT PRIMARY KEY,
    name VARCHAR(50)
)
PARTITION BY RANGE (id) (
    PARTITION p0 VALUES LESS THAN (100),
    PARTITION p1 VALUES LESS THAN (200),
    PARTITION p2 VALUES LESS THAN (300)
);
CREATE TABLE child_table (
    id INT,
    name VARCHAR(50)
)
PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) (
    PARTITION p0 VALUES LESS THAN (100) (
        SUBPARTITION s0,
        SUBPARTITION s1
    ),
    PARTITION p1 VALUES LESS THAN (200) (
        SUBPARTITION s2,
        SUBPARTITION s3
    ),
    PARTITION p2 VALUES LESS THAN (300) (
        SUBPARTITION s4,
        SUBPARTITION s5
    )
);
在这个示例中,子分区表child_table使用了父分区表中的id字段作为分区键,并对每个父分区进行了细分,每个子分区包含了两个子分区。
需要注意的是,MySQL的分区功能需要使用InnoDB存储引擎才能生效,且分区表的主键必须包含分区键。在创建子分区表时,需要根据实际需求选择合适的分区策略,并根据数据量和查询需求进行优化。