当前位置: 首页 > news >正文

MySQL分区表例子——List分区

MySQL分区表例子——List分区

列表分区(List分区)

这里假设表中有一个sale_item_type 字段,数据类型为INT 型

当sale_item_type 为1,3,5的时候,作为一个分区

当sale_item_type 为2,4,6的时候,作为另一个分区

当sale_item_type 为7,8的时候,作为最后一个分区

 

初期分区定义

mysql> CREATE TABLE sale_data2 (

    ->   sale_date  DATETIME NOT NULL,

    ->   sale_item_type  INT NOT NULL ,

    ->   sale_money DECIMAL(10,2) NOT NULL

    -> )

    -> PARTITION BY LIST (sale_item_type) (

    ->   PARTITION pFoods VALUES IN (1,3,5),

    ->   PARTITION pSmoke VALUES IN (2,4,6),

    ->   PARTITION pDrink VALUES IN (7,8)

    -> );

Query OK, 0 rows affected (0.11 sec)

 

核对结果

mysql> SHOW CREATE TABLE sale_data2\G

*************************** 1. row ********************

       Table: sale_data2

Create Table: CREATE TABLE `sale_data2` (

  `sale_date` datetime NOT NULL,

  `sale_item_type` int(11) NOT NULL,

  `sale_money` decimal(10,2) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

/*!50100 PARTITION BY LIST (sale_item_type)

(PARTITION pFoods VALUES IN (1,3,5) ENGINE = InnoDB,

 PARTITION pSmoke VALUES IN (2,4,6) ENGINE = InnoDB,

 PARTITION pDrink VALUES IN (7,8) ENGINE = InnoDB) */

1 row in set (0.00 sec)

 

新增分区

mysql> ALTER TABLE sale_data2

    ->   ADD PARTITION (PARTITION pOther VALUES IN (9, 10));

Query OK, 0 rows affected (0.23 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

核对结果

mysql> SHOW CREATE TABLE sale_data2\G

*************************** 1. row ***************************

       Table: sale_data2

Create Table: CREATE TABLE `sale_data2` (

  `sale_date` datetime NOT NULL,

  `sale_item_type` int(11) NOT NULL,

  `sale_money` decimal(10,2) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

/*!50100 PARTITION BY LIST (sale_item_type)

(PARTITION pFoods VALUES IN (1,3,5) ENGINE = InnoDB,

 PARTITION pSmoke VALUES IN (2,4,6) ENGINE = InnoDB,

 PARTITION pDrink VALUES IN (7,8) ENGINE = InnoDB,

 PARTITION pOther VALUES IN (9,10) ENGINE = InnoDB) */

1 row in set (0.00 sec)

 

删除分区

mysql> ALTER TABLE sale_data2

    ->   DROP PARTITION pOther;

Query OK, 0 rows affected (0.34 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

核对结果

mysql> SHOW CREATE TABLE sale_data2\G

*************************** 1. row ***************************

       Table: sale_data2

Create Table: CREATE TABLE `sale_data2` (

  `sale_date` datetime NOT NULL,

  `sale_item_type` int(11) NOT NULL,

  `sale_money` decimal(10,2) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

/*!50100 PARTITION BY LIST (sale_item_type)

(PARTITION pFoods VALUES IN (1,3,5) ENGINE = InnoDB,

 PARTITION pSmoke VALUES IN (2,4,6) ENGINE = InnoDB,

 PARTITION pDrink VALUES IN (7,8) ENGINE = InnoDB) */

1 row in set (0.00 sec)

 

 

分区的拆分

下面的SQL将pDrink 拆分为pBeer 与pCola

mysql> ALTER TABLE sale_data2 REORGANIZE PARTITION pDrink INTO (

    ->     PARTITION pBeer VALUES IN (7),

    ->     PARTITION pCola VALUES IN (8)

    -> );

Query OK, 0 rows affected (0.39 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

核对结果

mysql> SHOW CREATE TABLE sale_data2\G

*************************** 1. row ***************************

       Table: sale_data2

Create Table: CREATE TABLE `sale_data2` (

  `sale_date` datetime NOT NULL,

  `sale_item_type` int(11) NOT NULL,

  `sale_money` decimal(10,2) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

/*!50100 PARTITION BY LIST (sale_item_type)

(PARTITION pFoods VALUES IN (1,3,5) ENGINE = InnoDB,

 PARTITION pSmoke VALUES IN (2,4,6) ENGINE = InnoDB,

 PARTITION pBeer VALUES IN (7) ENGINE = InnoDB,

 PARTITION pCola VALUES IN (8) ENGINE = InnoDB) */

1 row in set (0.00 sec)

 

分区的合并

下面的SQL,将pBeer,pCola合并到pDrink

mysql> ALTER TABLE sale_data2

    ->   REORGANIZE PARTITION pBeer,pCola INTO (

    ->     PARTITION pDrink VALUES IN (7,8)

    -> );

Query OK, 0 rows affected (0.36 sec)

Records: 0  Duplicates: 0  Warnings: 0

 

核对结果

mysql> SHOW CREATE TABLE sale_data2\G

*************************** 1. row ***********************

       Table: sale_data2

Create Table: CREATE TABLE `sale_data2` (

  `sale_date` datetime NOT NULL,

  `sale_item_type` int(11) NOT NULL,

  `sale_money` decimal(10,2) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

/*!50100 PARTITION BY LIST (sale_item_type)

(PARTITION pFoods VALUES IN (1,3,5) ENGINE = InnoDB,

 PARTITION pSmoke VALUES IN (2,4,6) ENGINE = InnoDB,

 PARTITION pDrink VALUES IN (7,8) ENGINE = InnoDB) */

1 row in set (0.00 sec)

转载 http://hi.baidu.com/wangzhiqing999/item/a976e5f0bfbe1927753c4c26

相关文章:

  • iOS中常用的四种数据持久化方法简介
  • ASP.NET SignalR HubPipelineModule
  • DNS服务器中很重要的几个搭建配置---不看后悔哦
  • 一个老程序员的观察 国内外IT企业 震撼
  • Linux下用SCP无需输入密码传输文件
  • Head First 设计模式 (五) 单件模式(Singleton pattern) C++实现
  • 又一编辑神器-百度编辑器-Ueditor
  • SQL Server与MySQL之间的切换
  • window7如何提高到最高权限
  • [译]理解HEAD请求以及HTTP/204和HTTP/206响应
  • 第1讲:软件测试背景
  • 我要洗发液 洗衣粉 肥皂 威露士
  • 安装并配置OCEE
  • Linux下安装Oracle11g服务器
  • 用Java创建数组工具类ArrayTool
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • extract-text-webpack-plugin用法
  • Java知识点总结(JavaIO-打印流)
  • JS变量作用域
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • PAT A1017 优先队列
  • Promise面试题,控制异步流程
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SpringCloud集成分布式事务LCN (一)
  • vue.js框架原理浅析
  • 关于for循环的简单归纳
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 使用common-codec进行md5加密
  • 试着探索高并发下的系统架构面貌
  • 算法---两个栈实现一个队列
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 树莓派用上kodexplorer也能玩成私有网盘
  • 通过调用文摘列表API获取文摘
  • ​iOS安全加固方法及实现
  • ​渐进式Web应用PWA的未来
  • #、%和$符号在OGNL表达式中经常出现
  • #数学建模# 线性规划问题的Matlab求解
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C语言)二分查找 超详细
  • (ros//EnvironmentVariables)ros环境变量
  • (zt)最盛行的警世狂言(爆笑)
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)setTimeout 和 setInterval 的区别
  • *上位机的定义
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Framework与.NET Framework SDK有什么不同?