如何在MySQL中使用BINARY列进行分区?

时间:2017-03-07 02:25:04

标签: mysql database-partitioning

到目前为止,我发现以下非常不优雅的解决方案是在MySQL中的TABLE列上创建PARTITION BINARY(不是主键的一部分,所以我可以'使用PARTITION BY KEY):

CREATE TABLE IF NOT EXISTS TestPartition (
  uuid BINARY(16) NOT NULL
)
PARTITION BY RANGE COLUMNS(uuid) (
    PARTITION p0 VALUES LESS THAN (X'10000000000000000000000000000000'),
    PARTITION p1 VALUES LESS THAN (X'20000000000000000000000000000000'),
    PARTITION p2 VALUES LESS THAN (X'30000000000000000000000000000000'),
    PARTITION p3 VALUES LESS THAN (X'40000000000000000000000000000000'),
    PARTITION p4 VALUES LESS THAN (X'50000000000000000000000000000000'),
    PARTITION p5 VALUES LESS THAN (X'60000000000000000000000000000000'),
    PARTITION p6 VALUES LESS THAN (X'70000000000000000000000000000000'),
    PARTITION p7 VALUES LESS THAN (X'80000000000000000000000000000000'),
    PARTITION p8 VALUES LESS THAN (X'90000000000000000000000000000000'),
    PARTITION p9 VALUES LESS THAN (X'A0000000000000000000000000000000'),
    PARTITION pA VALUES LESS THAN (X'B0000000000000000000000000000000'),
    PARTITION pB VALUES LESS THAN (X'C0000000000000000000000000000000'),
    PARTITION pC VALUES LESS THAN (X'D0000000000000000000000000000000'),
    PARTITION pD VALUES LESS THAN (X'E0000000000000000000000000000000'),
    PARTITION pE VALUES LESS THAN (X'F0000000000000000000000000000000'),
    PARTITION pF VALUES LESS THAN (MAXVALUE)
);

有更好的方法吗?如果我想要更多分区,这会变得令人不快。

0 个答案:

没有答案