当前位置:网站首页>MySQL对数据表已有表进行分区表的实现
MySQL对数据表已有表进行分区表的实现
2022-04-23 11:02:00 【liming89】
文章来源: 学习通http://www.bdgxy.com/
对现有的一个表进行创建分区表,并把数据迁移到新表,可以按时间来分区,然后这表不是实时更新,每天有一次插入操作。
时间比较充裕,但是服务器上有其他应用,使用较小资源为主要方式。
操作方式
@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 已有表进行分区表内容请搜索菜鸟教程www.piaodoo.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持菜鸟教程www.piaodoo.com!
版权声明
本文为[liming89]所创,转载请带上原文链接,感谢
https://blog.csdn.net/liming89/article/details/124343202
边栏推荐
- SVN的使用:
- Chapter 120 SQL function round
- Visual Road (XII) detailed explanation of collection class
- How can swagger2 custom parameter annotations not be displayed
- Using El popconfirm and El backtop does not take effect
- Promise详解
- Idea - indexing or scanning files to index every time you start
- VIM usage
- How to bind a process to a specified CPU
- Introduction to data analysis 𞓜 kaggle Titanic mission (III) - > explore data analysis
猜你喜欢
一道有趣的阿里面试题
Introduction to data analysis 𞓜 kaggle Titanic mission (III) - > explore data analysis
More reliable model art than deep learning
Notes on concurrent programming of vegetables (V) thread safety and lock solution
ID number verification system based on visual structure - Raspberry implementation
Ueditor -- limitation of 4m size of image upload component
Visual common drawing (III) area map
比深度学习更值得信赖的模型ART
Promise详解
Reading integrity monitoring techniques for vision navigation systems - 5 Results
随机推荐
Code implementation of general bubbling, selection, insertion, hill and quick sorting
Facing the global market, platefarm today logs in to four major global platforms such as Huobi
PlatoFarm推出正式版游戏经济模型的特点分析
全栈交叉编译X86完成过程经验分享
Excel · VBA custom function to obtain multiple cell values
学习 Go 语言 0x08:《Go 语言之旅》中 练习使用 error
Data analysis learning (I) data analysis and numpy Foundation
活动进行时! 点击链接加入直播间参与“AI真的能节能吗?”的讨论吧!
【leetcode】102.二叉树的层序遍历
Pytorch implementation of transformer
闹钟场景识别
Simple thoughts on the design of a microblog database
解决方案架构师的小锦囊 - 架构图的 5 种类型
Solutions to common problems in visualization (VIII) solutions to problems in shared drawing area
STM32接电机驱动,杜邦线供电,然后反烧问题
Excel · VBA array bubble sorting function
remote: Support for password authentication was removed on August 13, 2021.
CUMCM 2021-B:乙醇偶合制備C4烯烴(2)
Visualized common drawing (II) line chart
How to Ping Baidu development board