MySQL数据库分区

 时间:2026-02-12 20:11:29

1、在数据量非常大(500w左右的)的情况下,MySQL自身提供一种分区的机制,可以按照一定的分区算法(list、Range、hash、key)将一种表里面的数据保存在不同的分区(磁盘上的空间)里面。

MySQL数据库分区

2、create table emp(

    id int,

    name varchar(32),

    store_id int

)partition by list (store_id)(

    partition p_north values in (1,4,5,6,17,18),

    partition p_east values in(2,7,9,10,11,13),

    partition p_south values in(3,12,19,20),

    partition p_west values in(8,14,15,16)

);

insert into emp values(1,’asion’,4),(2,’bill’,15);

# explain partitions select * from emp where store_id= 15 and id = 2;

MySQL数据库分区

3、注意:where后面的字段信息,需要在分区里面出现。

MySQL数据库分区

4、range分区

create table user(

    id int,

    name varchar(32),

    birthday date

)partition by range (month(birthday))(

    partition p_1 values less than (3),

    partition p_2 values less than(6),

    partition p_3 values less than(9),

    partition p_4 values less than MAXVALUE

);

 MAXVALUE: month 最大的值 12

MySQL数据库分区

5、分区:如果在一个非常大的表结构里面查找指定数据,可以使用分区(mysql内部实现)后,将数据分成多个小块(按照一定的算法list、range),然后在小块中查找,效率肯定要比从非常大的数据里面查找快一些。


  • 使用镜像仓库harbor上传下载自定义镜像
  • 安琪拉在火焰山大战中带圣杯和血书的效果
  • 怎么在支付宝参与冰雪大冒险玩法
  • 木瓜花生鲤鱼汤
  • 藤椒酸汤肥牛
  • 热门搜索
    手抄报边框设计图大全 宣传普通话手抄报 走进名著手抄报内容 安全教育日手抄报内容 爱眼手抄报 武汉手抄报 爱护校园环境手抄报 书香满校园手抄报 我爱阅读手抄报内容 红五月手抄报