欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL的分区表

程序员文章站 2024-03-09 10:00:53
...

概述

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');

添加几条数据

MySQL的分区表

查询分区

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

MySQL的分区表

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

查询所有分区

select * from employees ;

MySQL的分区表

只查询某个分区的数据

select * from employees  partition(p1) ;

MySQL的分区表