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 24 MySQL
MySQL中使用or、in与union all在查询命令下的效率对比
May 26 MySQL
安装配置mysql及Navicat prenium的详细流程
Jun 10 MySQL
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
Jun 26 MySQL
MySQL基础快速入门知识总结(附思维导图)
Sep 25 MySQL
MYSQL 运算符总结
Nov 11 MySQL
MySQL Server 层四个日志
Mar 31 MySQL
MySQL 执行数据库更新update操作的时候数据库卡死了
May 02 MySQL
MySQL数据库中的锁、解锁以及删除事务
May 06 MySQL
mysql如何查询连续记录
May 11 MySQL
MySQL数据库配置信息查看与修改方法详解
Jun 25 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
php统计时间和内存使用情况示例分享
2014/03/13 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
javascript实现实时输出当前的时间
2015/04/27 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
2016/07/06 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
bootstrap实现图片自动轮播
2016/12/21 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
[06:04]DOTA2国际邀请赛纪录片:Just For LGD
2013/08/11 DOTA
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
Python编程中的文件操作攻略
2015/10/16 Python
使用Python机器学习降低静态日志噪声
2018/09/29 Python
Python文件操作函数用法实例详解
2019/12/24 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
ProForm英国站点:健身房和健身器材网上商店
2019/06/05 全球购物
数学教学随笔感言
2014/02/17 职场文书
语文教育专业求职信
2014/06/28 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
同学聚会通知书
2015/04/20 职场文书
餐厅开业活动方案
2019/07/08 职场文书
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python