#### 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; //这里说明分成五个区
~~~
#### 文件结构

#### 测试
这里使用的测试数据和上面的创建数据不一致,这里是使用主键作为分区字段的.
~~~
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
~~~
- MySQL优化概述
- 存储引擎的选择
- innodb引擎
- myisam引擎
- memory引擎
- 查询需优化语句
- 通用查询日志
- 慢查询日志
- profile机制
- 索引
- 索引基本介绍
- 索引类型
- 索引管理语法
- 创建索引主要事项
- 执行计划
- 查看索引类型
- myisam索引数据结构
- innodb索引数据结构
- 索引覆盖
- 索引使用原则
- 列独立
- like查询
- 复合索引使用
- or运算都具有索引
- mysql智能选择
- 优化group by语句
- 前缀索引
- 全文索引
- 查询缓存
- 查询缓存操作
- 无缓存
- limit分页优化
- 分区
- 分区介绍
- list分区
- range分区
- hash分区
- key(键值)分区
- 分区管理
- 分表
- 分表介绍
- 水平分表
- 垂直分表
- MySQL锁机制
- 锁机制介绍
- 锁的几种形式
- 表锁操作
- 行锁操作
- 数据碎片与维护
- 范式
- 第一范式
- 第二范式
- 第三范式
- 反三范式
- 主从复制
- 介绍
- 读写分离