MySQL中的分区(六)KEY分区

KEY分区和HASH分区类似。

HASH分区只支持整数分区,而KEY分区支持使用除BLOB和Text外其他类型的列作为分区键,

创建分区表的时候,可以不指定分区键,默认会首先选择使用主键作为分区键。

CREATE TABLE emp2key (

    id INT NOT NULL,

    ename VARCHAR(30),

    hired DATE NOT NULL DEFAULT '1970-01-01',

    separated DATE NOT NULL DEFAULT '9999-12-31',

    job VARCHAR(30) NOT NULL,

    store_id INT NOT NULL,

    PRIMARY KEY(id)

)

PARTITION BY KEY( ) PARTITIONS 4;

 

在没有主键,也没有唯一键的情况下,就不能指定分区键了:

错误代码: 1488

Field in list of fields for partition function not found in table

 

CREATE TABLE emp2key1 (

    id INT NOT NULL,

    ename VARCHAR(30),

    hired DATE NOT NULL DEFAULT '1970-01-01',

    separated DATE NOT NULL DEFAULT '9999-12-31',

    job VARCHAR(30) NOT NULL,

    store_id INT NOT NULL

    )

PARTITION BY KEY( ) PARTITIONS 4;

 

原文地址:https://www.cnblogs.com/kate7/p/13397648.html