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 06 MySQL
MySQL官方导出工具mysqlpump的使用
May 21 MySQL
虚拟机linux端mysql数据库无法远程访问的解决办法
May 26 MySQL
MySQL中distinct和count(*)的使用方法比较
May 26 MySQL
MySQL 百万级数据的4种查询优化方式
Jun 07 MySQL
MySql 8.0及对应驱动包匹配的注意点说明
Jun 23 MySQL
Pycharm远程调试和MySQL数据库授权问题
Mar 18 MySQL
Mysql如何实现不存在则插入,存在则更新
Mar 25 MySQL
mysql的Buffer Pool存储及原理
Apr 02 MySQL
mysql 索引的数据结构为什么要采用B+树
Apr 26 MySQL
mysql sock文件存储了什么信息
Jul 15 MySQL
MySQL中dd::columns表结构转table过程及应用详解
Sep 23 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 is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php设置静态内容缓存时间的方法
2014/12/01 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
js 通用javascript函数库整理
2011/08/14 Javascript
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
JS通过相同的name进行表格求和代码
2013/08/18 Javascript
Javascript字符串对象的常用方法简明版
2014/06/26 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
bootstrap实现嵌套模态框的实例代码
2020/01/10 Javascript
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
Django代码性能优化与Pycharm Profile使用详解
2018/08/26 Python
PyQt5组件读取参数的实例
2019/06/25 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python爬虫之遍历单个域名
2019/11/20 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
总经理助理的职责
2014/03/14 职场文书
求职简历自我评价范文
2015/03/10 职场文书
铁人观后感
2015/06/16 职场文书
锦旗赠语
2015/06/23 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL