博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL对数据表已有表进行分区表
阅读量:6378 次
发布时间:2019-06-23

本文共 1794 字,大约阅读时间需要 5 分钟。

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多一点数据),测试下,删除原来的表。

测试可以正常使用,观察几天天。。

转载于:https://blog.51cto.com/13675040/2114580

你可能感兴趣的文章
DPM灾难切换应用场景
查看>>
简单配置Oracle10g DataGuard物理备库
查看>>
网曝支付宝漏洞:手机丢了,支付宝也就完了
查看>>
4 在vCenter Server安装View Composer组件
查看>>
SFB 项目经验-24-为持久聊天室-查询或者增加成员
查看>>
Linux下配置Squid基础教程
查看>>
当Cacti遭遇大流量
查看>>
Outlook Anywhere 客户端配置详解
查看>>
《Windows Server 2008 R2系统管理实战》前言与内容提要
查看>>
轻巧的网络流量实时监控工具NTOPNG
查看>>
Access、Sql 获取当前插入的主键ID
查看>>
聚类算法之DBScan(Java实现)
查看>>
为什么要使用AOP?
查看>>
VC :模板类
查看>>
对C++中string类型的总结
查看>>
Oracle发布公共云Public Cloud
查看>>
eclipse高亮显示
查看>>
Shell 操作数据库
查看>>
if lte IE if gte IE 浏览器兼容
查看>>
基于Lumisoft.NET组件和.NET API实现邮件发送功能的对比
查看>>