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字符串截取函数小结
Apr 05 MySQL
浅谈mysql执行过程以及顺序
May 12 MySQL
详解MySQL的Seconds_Behind_Master
May 18 MySQL
MySQL 8.0 Online DDL快速加列的相关总结
Jun 02 MySQL
MySQL高速缓存启动方法及参数详解(query_cache_size)
Jul 01 MySQL
MySQL中的隐藏列的具体查看
Sep 04 MySQL
教你如何让spark sql写mysql的时候支持update操作
Feb 15 MySQL
实战 快速定位MySQL的慢SQL
Mar 22 MySQL
mysql字段为NULL索引是否会失效实例详解
May 30 MySQL
Mysql数据库事务的脏读幻读及不可重复读详解
May 30 MySQL
MySQL事务的ACID特性以及并发问题方案
Jul 15 MySQL
MySQL数据库查询之多表查询总结
Aug 05 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访问查询mysql数据的三种方法
2006/10/09 PHP
关于页面优化和伪静态
2009/10/11 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
原生JS实现自定义滚动条效果
2020/10/27 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
vue实现商品列表的添加删除实例讲解
2020/05/14 Javascript
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
python config文件的读写操作示例
2019/09/27 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
圣彼得堡鲜花配送:Semicvetic
2020/09/15 全球购物
商务英语专业毕业生求职信
2014/07/06 职场文书
体育运动会广播稿
2014/10/05 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
赢在中国观后感
2015/06/02 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript