mysql数据库key分区用法 按照key进行分区类似于按照hash分区,除了hash分区使用的用户定义的表达式,而key分区的 哈希函数是由mysql 服务器提供。mysql 簇(cluster)使用函数md5()来实现key分区;对于使用其他存储引擎的表,服务器使用其自己内部的 哈希函数,
mysql数据库key分区用法
按照key进行分区类似于按照hash分区,,除了hash分区使用的用户定义的表达式,而key分区的 哈希函数是由mysql 服务器提供。mysql 簇(cluster)使用函数md5()来实现key分区;对于使用其他存储引擎的表,服务器使用其自己内部的 哈希函数,这些函数是基于与password()一样的运算法则。
“create table ... partition by key”的语法规则类似于创建一个通过hash分区的表的规则。它们唯一的区别在于使用的关键字是key而不是hash,并且key分区只采用一个或多个列名的一个列表。
通过线性key分割一个表也是可能的。下面是一个简单的例子:
create table tk (
col1 int not null,
col2 char(5),
col3 date
)
partition by linear key (col1)
partitions 3;
在key分区中使用关键字linear和在hash分区中使用具有同样的作用,分区的编号是通过2的幂(powers-of-two)算法得到,而不是通过模数算法。