MySQL的分区表

版权声明:本文为博主九师兄(QQ群:spark源代码 198279782 欢迎来探讨技术)原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21383435/article/details/81947249

概述

Hash分区

CREATE TABLE employees (
    id INT NOT NULL,
    name VARCHAR(30),
    store_id INT
)
PARTITION BY HASH(store_id) PARTITIONS 4;

新建一个employees表,这个表以对store_id进行hash后的值确定存储在哪个分区PARTITIONS 4是总共分为4个分区

insert into `lcc`.`employees` ( `id`, `name`, `store_id`) values ( '4', 'dd', '4');
insert into `lcc`.`employees` ( `id`, `name`, `store_id`) values ( '1', 'aa', '1');
insert into `lcc`.`employees` ( `id`, `name`, `store_id`) values ( '5', 'ee', '1');
insert into `lcc`.`employees` ( `id`, `name`, `store_id`) values ( '2', 'bb', '2');
insert into `lcc`.`employees` ( `id`, `name`, `store_id`) values ( '3', 'cc', '3');

添加几条数据

这里写图片描述

查询分区

SELECT PARTITION_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME = 'employees'

这里写图片描述

可以看到p1分区有2条数据,其他分区只有一条,和我们插入的一致

查询所有分区

select * from employees ;

这里写图片描述

只查询某个分区的数据

select * from employees  partition(p1) ;

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/81947249