千家信息网

MySQL对数据表已有表进行分区表的实现方法是什么

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"MySQL对数据表已有表进行分区表的实现方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能
千家信息网最后更新 2026年11月03日MySQL对数据表已有表进行分区表的实现方法是什么

本篇内容介绍了"MySQL对数据表已有表进行分区表的实现方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

操作方式

@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对数据表已有表进行分区表的实现方法是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

数据 分区表 数据表 方法 内容 字段 更多 知识 过程 速度 测试 观察 实用 普通 学有所成 接下来 会创 只有 名称 困境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技财经 朗新科技与工业互联网 麻工互联网科技 互联网 科技 互联网科技作文 世界互联网领先科技成果 易通互联网络科技有限公司 科技大学互联网专业好不好 广西拼得多互联网科技有限公司 互联网实体化科技化 深圳市运趣互联网科技有限公司 哈尔滨新华互联网科技学院 移动互联网科技股 互联网科技有哪些公司 湖北码尼互联网科技有限公司电话 互联网科技和法律行业 四川慕妮娅互联网科技有限公司 互联网与数字科技关系 盐城市攀科互联网科技有限公司 亚光科技低轨卫星互联网 互联网科技大会案例 开启互联网科技时代小说 宁波青枫互联网科技有限公司 央行互联网金融科技公司 福建科技产业互联网发展 广州梦谷互联网科技有限公司领导 科技互联网行业投资研究 容联科技互联网电商 玉溪新华互联网科技怎么选 保山浩联互联网科技有限公司
0