我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

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

MySQL创建数据表的方法是什么

MySQL创建数据表的方法有两种:手动创建和使用SQL语句创建。1. 手动创建:可以通过MySQL的图形界面工具,如phpMyAdmin等,在数据库中手动创建数据表。具体步骤为:选择对应的数据库,点击“新建”或“创建表”按钮,在弹出的表单中
2023-10-20

mysql清空表数据的方法是什么

要清空MySQL表中的数据,可以使用以下两种方法:使用TRUNCATE TABLE语句:TRUNCATE TABLE table_name;这条语句会删除表中的所有数据,并重置自增ID。但是要注意的是,TRUNCATE TABLE语句是一个
mysql清空表数据的方法是什么
2024-04-09

mysql导出表数据的方法是什么

使用MySQL的命令行工具或者图形化工具可以导出表数据。下面是使用命令行工具导出表数据的方法:使用mysqldump命令导出整个数据库的数据:mysqldump -u username -p database_name > dumpfile
mysql导出表数据的方法是什么
2024-04-23

大数据报表怎么实现对数据列进行排名分析

这篇文章跟大家分析一下“大数据报表怎么实现对数据列进行排名分析”。内容详细易懂,对“大数据报表怎么实现对数据列进行排名分析”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“大数据报表
2023-06-03

MySQL删除表数据的方法是什么

要删除表数据,可以使用以下两种方法:使用DELETE语句删除表中的数据,但保留表结构:DELETE FROM table_name;使用TRUNCATE TABLE语句删除表中的数据,并重置自增主键:TRUNCATE TABLE table
MySQL删除表数据的方法是什么
2024-04-09

MySQL删除数据表的方法是什么

要删除一个 MySQL 数据表,可以使用 DROP TABLE 语句。具体方法如下:DROP TABLE table_name;其中,table_name 是要删除的数据表的名称。执行上述 SQL 语句后,该数据表将被删除,其中包含的所有
MySQL删除数据表的方法是什么
2024-05-08

mysql中修改表数据的方法是什么

要修改表数据,可以使用 UPDATE 语句。语法如下:UPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;其中,table_name
mysql中修改表数据的方法是什么
2024-04-09

mysql大表数据去重的方法是什么

在MySQL中,可以使用以下方法来去除大表数据中的重复记录:使用DISTINCT关键字:通过在SELECT语句中使用DISTINCT关键字可以去除重复的记录。例如:SELECT DISTINCT column1, column2 FROM
mysql大表数据去重的方法是什么
2024-04-09

mysql数据库恢复单个表的方法是什么

恢复MySQL数据库中的单个表,可以使用以下方法:使用备份文件:如果你有数据库的备份文件,可以通过将备份文件中的表导入到现有的数据库中,来恢复单个表。可以使用MySQL命令行或者图形界面工具(如phpMyAdmin)导入备份文件。使用SEL
mysql数据库恢复单个表的方法是什么
2024-04-09

大数据报表合计需求的实现方法是什么

这篇文章的内容主要围绕大数据报表合计需求的实现方法是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!一、常用合计方案在有专业报表工具之前,常用的实
2023-06-04

mysql单表千万级数据查询的方法是什么

在处理千万级数据的单表查询时,可以采取以下方法来提高查询效率:使用合适的索引:在主键字段和经常用于查询的字段上创建索引,可以加快查询速度。但是要注意索引也会占用存储空间,并且会增加更新和插入操作的时间。避免全表扫描:尽量避免使用没有索引的字
mysql单表千万级数据查询的方法是什么
2024-03-02

SpringBoot结合Mybatis实现创建数据库表的方法是什么

这篇文章跟大家分析一下“SpringBoot结合Mybatis实现创建数据库表的方法是什么”。内容详细易懂,对“SpringBoot结合Mybatis实现创建数据库表的方法是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后
2023-06-26

MySQL实现数据分页的方法是什么

MySQL实现数据分页的方法通常是使用LIMIT子句。通过在查询语句中使用LIMIT子句,可以限制返回的数据行数,并可以指定返回数据的起始位置。例如,以下是一个基本的数据分页查询语句示例:SELECT * FROM table_name
MySQL实现数据分页的方法是什么
2024-04-09

编程热搜

目录