mysql分区替换,MySQL交换分区的实例详解
前言
在介绍交换分区之前,我们先了解一下 mysql 分区。
数据库的分区有两种:水平分区和垂直分区。而MySQL暂时不支持垂直分区,因此接下来说的都是水平分区。水平分区即:以行为单位对表进行分区。比如:按照时间分区,每一年一个分区等。
在MySQL中,分区是可以交换的,可以将一个分区表中的一个分区和一个普通表中的数据互换。
交换分区的实现
1、交换分区的语法
解释:
将 分区表pt 的 分区p 和 一个普通表nt 中的数据 进行互换。
交换的前提条件:
普通表nt 不为临时表,且不是分区表。
表结构和分区表pt的结构一致。
普通表nt 没有外键引用。
普用表nt 若为非空。在MySQL5.6以及之前的版本,必须在分区的范围内;在MySQL5.7之后则可以不再其分区范围内,也依然会成功存入该分区中。
2、实验 交换分区
(1) 创建一个分区表,并插入数据
(2) 创建一个和分区表e结构一致的普通表e2
(3) 查看表e的分区中各有多少行
(4) 将表e的分区p0 交换到 普通表e2中
(5) 查看结果
由此发现,表e的分区p0的数据 搬移到了 表e2中。
上面的例子,是将一个分区 和 一个普通的空表 交换,这样相当于将一个分区的数据搬移了出去,通常使用在数据的归档中。
同样,交换分区也可以 在一个分区和一个非空普通表中 发生交换,这样普通表中的数据会搬迁到指定分区,该指定分区的数据会搬迁到普通表中。如下操作:
(6) 再向分区表e的p0中添加一条数据
(7) 执行 交换分区
(8) 查看结果
由此看出,表e的p0 和 表e2 的数据做了互换!这种场景,可以在普通表数据搬移到分区表的某个分区中使用。
但是,有一点需要注意:
若普通表的数据 不在 要交换的分区范围内,上面交换分区的语法,不可以执行成功!请看下面的操作。
(9) 在普通表e2中插入一条超出表e的p0范围的数据,执行上面的交换语句
在MySQL 5.6 版本中,该问题无法解决;而在MySQL 5.7.5版本中,增加了一个选项 WITHOUT VALIDATION ,可以解决上面的报错。操作如下:
查看结果:
总结
通过上述实践操作发现,MySQL 的交换分区的功能,有两种适用场景:
分区表的某个分区 和 一个空的普通表 交换,使得 分区表的该分区的数据搬移出去。
分区表的某个分区 和 一个非空普通表 交换,使得 普通表的数据搬移到分区表的指定分区中。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:https://my.oschina.net/starglm/blog/1142983
mysql分区替换,MySQL交换分区的实例详解相关推荐
- php mysql修改命令_PHP编程:mysql alter table命令修改表结构实例详解
<PHP编程:mysql alter table命令修改表结构实例详解>要点: 本文介绍了PHP编程:mysql alter table命令修改表结构实例详解,希望对您有用.如果有疑问,可 ...
- mysql心得体会一百字_MYSQL CPU 100%实例详解
MYSQL CPU 100%实例详解 2011/7/2 11:19:19作者:xy我要评论(0) 自己的一台主机(Windows 2003 + IIS + PHP + MYSQL )近来 MySQL ...
- mysql 过程if语句,mysql存储过程之if语句用法实例详解
这篇文章主要介绍了mysql存储过程之if语句用法,结合实例形式详细分析了mysql存储过程中if语句相关原理.使用技巧与操作注意事项,需要的朋友可以参考下 本文实例讲述了mysql存储过程之if语句 ...
- MySQL中你可能忽略的COLLATION实例详解
文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 前言 MySQL 数据库 ...
- mysql单个查询_MySQL单表查询实例详解
1.准备数据 以下操作将在该表中进行 create table student ( id int unsigned primary key auto_increment, name char(12) ...
- mysql添加新的实例_MySQL中添加新用户权限的实例详解
有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表.比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些. 下面的例子显示出如何使用MySQL客户安装新用户. ...
- mysql通过集合查询_MySQL使用集合函数进行查询操作实例详解
本文实例讲述了MySQL使用集合函数进行查询操作.分享给大家供大家参考,具体如下: COUNT函数 SELECT COUNT(*) AS cust_num from customers; SELECT ...
- mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数
<Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...
- mysql 创建删除表_mysql创建删除表的实例详解
表的创建命令需要: 表的名称 字段名称 定义每个字段(类型.长度等) 语法 下面是通用的SQL语法用来创建MySQL表: CREATE TABLE table_name (column_name ...
- php mysql PDO 查询操作的实例详解
php mysql PDO 查询操作的实例详解 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...
最新文章
- c#,xp系统,Matlab6.5
- 用Java描述数据结构之栈和队列,以及栈和队列的常用方法
- 增值税发票的种类_以及税率---财务知识工作笔记001
- HDFS数据平衡:节点间平衡与节点内平衡
- 51单片机(STC15W408AS)映射printf函数 串口收发实现
- 店铺二维码:如何生成大众点评二维码
- 关于分辨率,你该知道这些!
- 形容等待时间长的句子_形容等待已久的事终于等到句子
- 微软自带虚拟机Hyper—V启用
- GraphSAGE NIPS 2017 代码分析(Tensorflow版)
- 记录一下nginx代理引起的ip失真问题
- 招到不能胜任工作岗位的人,责任在不在HR?
- 8月9日华为发布了其自研的鸿蒙操作系统,华为正式发布自研操作系统鸿蒙
- webrtc-m79-PlanB 与 UnifiedPlan
- 国内外设计及素材站[转载]
- 求圆面积,圆周长,圆球表面积,圆球体积,圆柱体体积
- 2021-2027全球与中国针叶樱桃提取物市场现状及未来发展趋势
- 鸡尾酒排序算法c语言源代码,排序算法 -鸡尾酒排序
- 关于4294967295这个数字
- NFT交易系统|数字藏品系统开发 赋能艺术品数字产权 实现版权存证认证