MySQL对数据表已有表进行分区表的实现


Posted in MySQL onNovember 01, 2021

对现有的一个表进行创建分区表,并把数据迁移到新表,可以按时间来分区,然后这表不是实时更新,每天有一次插入操作。
时间比较充裕,但是服务器上有其他应用,使用较小资源为主要方式。

操作方式

@1 可以使用ALTER TABLE来进行更改表为分区表,这个操作会创建一个分区表,然后自动进行数据copy然后删除原表,
猜测服务器资源消耗比较大。

类似操作

ALTER TABLE tbl_rtdata PARTITION BY RANGE (Month(fld_date))
(   
PARTITION p_Apr VALUES LESS THAN (TO_DAYS('2012-05-01')),
PARTITION p_May VALUES LESS THAN (TO_DAYS('2012-06-01')), 
PARTITION p_Dec VALUES LESS THAN MAXVALUE );

@2 新建一个和原来表一样的分区表,然后把数据从原表导出,接着倒入新表。
(原来的表主键只有id,而我的分区字段是 stsdate, 这里主键要修改为 id,stsdate 联合主键,分区表要求分区字段要是主键或者是主键的一部分)

操作过程

采用第二种方案。先创建分区表,然后导出原表数据,新表名称改为原表名,然后插入,最后建立普通索引。

建立分区表

CREATE TABLE `apdailysts_p` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `ap_id` INT(11) NOT NULL,
  `mac` VARCHAR(17) NOT NULL,
  `liveinfo` LONGTEXT NOT NULL,
  `livetime` INT(11) NOT NULL,
  `stsdate` DATE NOT NULL,
  `lastmodified` DATETIME NOT NULL,
   PRIMARY KEY (`id`, `stsdate`)
) 
PARTITION BY RANGE COLUMNS(stsdate) (
    PARTITION p0 VALUES LESS THAN ('2016-06-01'),
    PARTITION p1 VALUES LESS THAN ('2016-07-01'),
    PARTITION p2 VALUES LESS THAN ('2016-08-01'),
    PARTITION p3 VALUES LESS THAN ('2016-09-01'),
    PARTITION p4 VALUES LESS THAN ('2016-10-01'),
    PARTITION p5 VALUES LESS THAN ('2016-11-01'),
    PARTITION p6 VALUES LESS THAN ('2016-12-01'),
    PARTITION p7 VALUES LESS THAN ('2017-01-01'),
    PARTITION p8 VALUES LESS THAN ('2017-02-01'),
    PARTITION p9 VALUES LESS THAN ('2017-03-01'),
    PARTITION p10 VALUES LESS THAN ('2017-05-01'),
    PARTITION p11 VALUES LESS THAN ('2017-06-01'),
    PARTITION p12 VALUES LESS THAN ('2017-07-01'),
    PARTITION p13 VALUES LESS THAN ('2017-08-01'),
    PARTITION p14 VALUES LESS THAN ('2017-09-01'),
    PARTITION p15 VALUES LESS THAN MAXVALUE
);

导出数据

mysqldump -u dbname -p --no-create-info dbname apdailysts  > apdailysts.sql

修改表名,导入数据(10分钟就导入完了,200w, 8g多一点数据),测试下ok,删除原来的表。

测试可以正常使用,收工,观察2天。。

? 10.16
通过这两天的观察,页面的查询速度从打不开到基本可以秒开的速度了,这个优化是成立的。

到此这篇关于MySQL对数据表已有表进行分区表的实现的文章就介绍到这了,更多相关MySQL 已有表进行分区表内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
MySQL表字段时间设置默认值
May 13 MySQL
MySQL里面的子查询的基本使用
Aug 02 MySQL
SQL实现LeetCode(175.联合两表)
Aug 04 MySQL
MYSQL 的10大经典优化案例场景实战
Sep 14 MySQL
一文带你探究MySQL中的NULL
Nov 11 MySQL
防止web项目中的SQL注入
Dec 06 MySQL
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
Mar 22 MySQL
mysql使用 not int 子查询隐含陷阱
Apr 12 MySQL
MySQL的存储过程和相关函数
Apr 26 MySQL
解决Mysql中的innoDB幻读问题
Apr 29 MySQL
MySql中的json_extract函数处理json字段详情
Jun 05 MySQL
MySQL 原理与优化之Update 优化
Aug 14 MySQL
mysql分表之后如何平滑上线详解
Nov 01 #MySQL
MySQL8.0升级的踩坑历险记
Nov 01 #MySQL
详细聊聊关于Mysql联合查询的那些事儿
Oct 24 #MySQL
mysql事务对效率的影响分析总结
Oct 24 #MySQL
mysql事务隔离级别详情
mysql主从复制的实现步骤
记一次Mysql不走日期字段索引的原因小结
Oct 24 #MySQL
You might like
论建造顺序的重要性
2020/03/04 星际争霸
thinkphp模板用法和内容输出实例
2014/11/28 PHP
详解PHP中的Traits
2015/07/29 PHP
PHP中__set()实例用法和基础讲解
2019/07/23 PHP
prototype 学习笔记整理
2009/07/17 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
使用jQuery将多条数据插入模态框的实现代码
2014/10/08 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
jquery可定制的在线UEditor编辑器
2015/11/17 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
dul无法加载bootstrap实现unload table/user恢复
2016/09/29 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
JS删除对象中某一属性案例详解
2020/09/08 Javascript
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
Python判断变量名是否合法的方法示例
2019/01/28 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
Python restful框架接口开发实现
2020/04/13 Python
就业推荐自我鉴定
2013/10/06 职场文书
装修活动策划方案
2014/08/27 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
围城读书笔记
2015/06/26 职场文书
《绝招》教学反思
2016/02/20 职场文书
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS