当我们数据量特别大时

这时我们要学到一个词汇叫『拆分』

mysql有一个功能叫做 分区
1、把数据分段划分在多个位置存放,可以是同一块磁盘也可以是不同的机器
2、分区后表面上还是一张表,但数据散列到多个位置了
3、读写时还是表明不变,数据库自动去组织分区的数据

分区类型

mysql中的分区有:range、list、hash、key四种分区方法

我们介绍range方法,就是划分范围,比如我们按照id字段划分。

对已有表进行分区

mysql 转分区表 mysql 数据分区_mysql 转分区表


然后可以查看一下此表存储的位置,可以使用如下SQL语句查看存储位置:

show VARIABLES like '%datadir%';

开始分表:

ALTER TABLE users PARTITION by RANGE(`id`) 
(
    PARTITION users_a VALUES less THAN(4),
    PARTITION users_b VALUES less THAN(8),
    PARTITION users_c VALUES less THAN(MAXVALUE)
);

说明:我们对users 表,按照id 字段划分范围。id小于4的一个分区,然后id小于8的一个分区,最后剩下的一个分区。