zoukankan      html  css  js  c++  java
  • mysql创建表分区

    MySQL创建表分区

    create table erp_bill_index(
        id int primary key auto_increment,
        addtime datetime
    );
    insert into erp_bill_index(addtime) 
    values
    ('2018-02-01 12:00:00'),
    ('2018-03-01 12:00:00'),
    ('2018-04-01 12:00:00'),
    ('2018-05-01 12:00:00'),
    ('2018-06-01 12:00:00'),
    ('2018-07-01 12:00:00'),
    ('2018-08-01 12:00:00'),
    ('2018-09-01 12:00:00'),
    ('2018-10-01 12:00:00'),
    ('2018-11-01 12:00:00'),
    ('2018-12-01 12:00:00'),
    ('2019-01-01 12:00:00'),
    ('2019-02-01 12:00:00'),
    ('2019-03-01 12:00:00'),
    ('2019-04-01 12:00:00'),
    ('2019-05-01 12:00:00'),
    ('2019-06-01 12:00:00'),
    ('2019-07-01 12:00:00'),
    ('2019-08-01 12:00:00'),
    ('2019-09-01 12:00:00'),
    ('2019-10-01 12:00:00'),
    ('2019-11-01 12:00:00'),
    ('2019-12-01 12:00:00');
    
    alter table erp_bill_index drop primary key;-- 删除主键,在删除主键的时候,这个自增会让该语句执行失败,先取消字段自增,然后执行该语句后,再加上自增
    alter table erp_bill_index add primary key(id,addtime);-- 添加主键,(分区要求:分区中使用的字段必须都包含在主键当中)
    
    -- 创建分区(分区要求:分区中使用的字段必须都包含在主键当中)
    ALTER TABLE erp_bill_index PARTITION by RANGE(to_days(addtime))
    (
      PARTITION p201801 VALUES LESS THAN (to_days('2018-02-01')),
      PARTITION p201802 VALUES LESS THAN (to_days('2018-03-01')),
      PARTITION p201803 VALUES LESS THAN (to_days('2018-04-01')),
      PARTITION p201804 VALUES LESS THAN (to_days('2018-05-01')),
      PARTITION p201805 VALUES LESS THAN (to_days('2018-06-01')),
      PARTITION p201806 VALUES LESS THAN (to_days('2018-07-01')),
      PARTITION p201807 VALUES LESS THAN (to_days('2018-08-01')),
      PARTITION p201808 VALUES LESS THAN (to_days('2018-09-01')),
      PARTITION p201809 VALUES LESS THAN (to_days('2018-10-01')),
      PARTITION p201810 VALUES LESS THAN (to_days('2018-11-01')),
      PARTITION p201811 VALUES LESS THAN (to_days('2018-12-01')),
      PARTITION p201812 VALUES LESS THAN (to_days('2019-01-01')),
      PARTITION p201901 VALUES LESS THAN (to_days('2019-02-01')),
      PARTITION p201902 VALUES LESS THAN (to_days('2019-03-01')),
      PARTITION p201903 VALUES LESS THAN (to_days('2019-04-01')),
      PARTITION p300012 VALUES LESS THAN (9223372036854775807) -- 剩下的放在一个分区中,当需要对这部分进行再次分区的时候,需要先删除该分区,然后再添加多个分区
    );
    
    
    -- 删除分区
    ALTER TABLE erp_bill_index DROP PARTITION p300012;
    -- 添加新的分区
    alter table erp_bill_index add PARTITION
    (
        PARTITION p201905 VALUES LESS THAN (to_days('2019-06-01')) ENGINE = InnoDB,
        PARTITION p300012 VALUES LESS THAN (9223372036854775807)
    );

    mysql执行分析参考:https://blog.csdn.net/weixin_45310179/article/details/99591496
  • 相关阅读:
    Mongodb对数据库(DB)的常用操作
    Mongodb下载地址
    SpringCloud之搭建配置中心
    一个还不错的源码解析网站
    SpringBoot之配置google kaptcha
    caffe的python接口学习(4):mnist实例---手写数字识别
    caffe的python接口学习(3):训练模型(training)
    caffe的python接口学习(2):生成solver文件
    caffe的python接口学习(1):生成配置文件
    python数字图像处理(19):骨架提取与分水岭算法
  • 原文地址:https://www.cnblogs.com/TheoryDance/p/11719572.html
Copyright © 2011-2022 走看看