1.分區算法
1.1.求餘算法:
(1)key:按照內置的key算法運算結果
- 語法
create(.....)partition by key(字段/表達式) partitions 分組數;
- 使用
CREATE TABLE t_key(
id int not null auto_increment,
name VARCHAR(10) not null DEFAULT '',
PRIMARY KEY(id)
)ENGINE=Myisam DEFAULT CHARSET=utf8
PARTITION by KEY(id) PARTITIONS 2;
Mysql內置的分區功能,對於數據表永遠對外只使用一張數據表,但是本質對數據進行拆分存儲的,分區到那個區是由數據庫自動區分的
- 注意:只有主鍵可以創建分區的,組合主鍵也可以
(2)hash:按照內置的key算法運算結果
- 語法
create(.....)partition by hash(字段/表達式) partitions 分組數;
1.2.範圍區間算法
(1)list算法:in
- 語法
create(.....)partition by range(字段/表達式) (
partition 名稱1 values less than(常量),
partition 名稱2 values less than(常量),
partition 名稱3 values less than(常量),
);