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

    大概有五种:

    1.range 范围分区:例如按照时间范围

    create table range(
      id int(11),
      money int(11) unsigned not null,
      date datetime
      )partition by range(year(date))(
      partition p2007 values less than (2008),
      partition p2008 values less than (2009),
      partition p2009 values less than (2010)
      partition p2010 values less than maxvalue
    );
    2.list 例如多个类型的数据:
    create table list(
      a int(11),
      b int(11)
      )(partition by list (b)
      partition p0 values in (1,3,5,7,9),
      partition p1 values in (2,4,6,8,0)
     );
      3.hash
    create table hash(
      a int(11),
      b datetime
      )partition by hash (YEAR(b)
      partitions 4;
     
    4.key
    create table t_key(
      a int(11),
      b datetime)
      partition by key (b)
      partitions 4;
     
    =============================
     
     
    如何添加分区?
    ALTER TABLE sale_data
    ADD PARTITION (PARTITION p201010 VALUES LESS THAN (201011));
    如何删除分区?
    ALTER TABLE sale_data DROP PARTITION p201010;
     
    分区合并:
    ALTER TABLE sale_data
    REORGANIZE PARTITION p201001,p201002,p201003,
    p201004,p201005,p201006,
    p201007,p201008,p201009 INTO
    (
    PARTITION p2010Q1 VALUES LESS THAN (201004),
    PARTITION p2010Q2 VALUES LESS THAN (201007),
    PARTITION p2010Q3 VALUES LESS THAN (201010)
    );
     
     
     
     
     
     
     
  • 相关阅读:
    H3C 路由策略(人为打环)
    linux nfs配置
    linux vsftp 简单配置
    linux vg lv pv
    linux sshd 登录不需要密码
    linux dhcp 简单配置
    linux pxe 安装Centos7
    分别使用laravel安装器和composer安装laravel!
    阻止按钮快速点击
    检测页面是否允许使用Flash
  • 原文地址:https://www.cnblogs.com/zgghb/p/6385084.html
Copyright © 2011-2022 走看看