企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
#### hash 可以这么理解: Hash是基于分区个数的取模(%)运算,根据余数将数据分配到不同的分区。 **注意:hash分区只能针对整数进行hash!** 这种模式允许通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区。例如可以建立一个对表主键进行分区的表。 #### 语法 ~~~ create table p_hash( id int, name varchar(20), birthday date )engine innodb charset utf8 partition by hash(month(birthday)) partitions 5; //这里说明分成五个区 ~~~ #### 文件结构 ![](https://box.kancloud.cn/c53226cc731e74fd8fbd7981da76071a_843x265.png) #### 测试 这里使用的测试数据和上面的创建数据不一致,这里是使用主键作为分区字段的. ~~~ explain partitions select * from user where id = 30000\G ~~~ 结果 : ~~~ id: 1 select_type: SIMPLE table: user partitions: p0 //自动进行了分区 type: const possible_keys: PRIMARY key: PRIMARY key_len: 4 ref: const rows: 1 filtered: 100.00 Extra: NULL ~~~