自己用到的MYSQL表分区记录

    xiaoxiao2021-10-31  55

    1.   查看数据库是否支持分区:SHOW VARIABLES LIKE '%partition%';

    2. Range分区

    1)直接创建表时分区【实例】

    create table teacher

    (id varchar(20) not null ,

    name varchar(20),

    age varchar(20),

    birthdate date not null,

    salary int

    )

    partition by range(year(birthdate))

    (

    partition p1 values less than (1970),

    partition p2 values less than (1990),

    partition p3 values less than maxvalue

    );##### 创建teacher表,并在创建teacher表同时根据birthdate字段将表划分为p1、p2、p3三个分区。

    2)创建表后分区

    ALTER TABLE teacher

    partition by range(year(birthdate))

    (

    partition p1 values less than (1970),

    partition p2 values less than (1990),

    partition p3 values less than maxvalue

    );##### 给已经创建了的表分区,分为p1、p2、p3.

    l List分区

    俗名:列表分区。其实list分区和range分区应该说都是一样的,不同的是range分区在分区是的依据是一段连续的区间;而list分区针对的分区依据是一组分布的散列值。

    create tablestudent

     (id varchar(20) not null ,

     studentno int(20) not null,

     name varchar(20),

     age varchar(20)

     )

     partition by list(studentno)

     (

     partition p1 values in (1,2,3,4),

     partition p2 values in  (5,6,7,8),

     partition p3 values in (9,10,11)

          );#### 如上创建表student,并将student表分为p1、p2、p3三个分区。需要注意的是一般情况下,针对表的分区字段为int等数值类型。

    转载请注明原文地址: https://ju.6miu.com/read-677927.html

    最新回复(0)