Mysql数据库大表归档操作
由于公司的某个系统数据表过亿,考虑到数据表的压力。所以根据某个时间点对数据表做了一个归档。以下的操作是在当前的数据库新建表用于存储历史数据,然后再对生产表做一个清理操作。如果有条件的话可以把归档的数据放在一台新的数据库服务器上。(具体的表名和时间结点根据自己需要修改)
归档sql:
方法一: 复制表并且按照条件插入数据(此种方法除了主键索引不包括其他索引)
- CREATE TABLE lime_survey_549656_20151001 as select * from lime_survey_549656 where submitdate < "2015-10-01 00:00:00";
- ALTER TABLE lime_survey_549656_20151001 change id id int primary key auto_increment;
- CREATE TABLE lime_survey_186194_20151001 as select * from lime_survey_186194 where submitdate < "2015-10-01 00:00:00";
- ALTER TABLE lime_survey_186194_20151001 change id id int primary key auto_increment;
- CREATE TABLE lime_survey_279575_20151001 as select * from lime_survey_279575 where submitdate < "2015-10-01 00:00:00";
- ALTER TABLE lime_survey_279575_20151001 change id id int primary key auto_increment;
方法二: 创建一张空表,结构和索引和原表一样
- create table lime_survey_549656_20151001 like lime_survey_549656;
- INSERT INTO lime_survey_549656_20151001 select * from lime_survey_549656 where submitdate < "2015-10-01 00:00:00";
- create table lime_survey_186194_20151001 like lime_survey_186194;
- INSERT INTO lime_survey_186194_20151001 select * from lime_survey_186194 where submitdate < "2015-10-01 00:00:00";
- create table lime_survey_279575_20151001 like lime_survey_279575;
- INSERT INTO lime_survey_279575_20151001 select * from lime_survey_279575 where submitdate < "2015-10-01 00:00:00";
数据归档成功后清理数据sql:
- delete from lime_survey_549656 where submitdate < "2015-10-0100:00:00";
- delete from lime_survey_186194 where submitdate < "2015-10-0100:00:00";
- delete from lime_survey_279575 where submitdate < "2015-10-0100:00:00";
Mysql数据库大表归档操作相关推荐
- 千万级大表如何更快速的创建索引_分享一份生产环境mysql数据库大表归档方案,值得收藏...
概述 分享下最近做的一个mysql大表归档方案,仅供参考. 整体思路 一.明确哪些大表需做归档 1.数据库表概要信息统计 SELECTt1.table_schema,t1.table_name,`EN ...
- Ubuntu Mysql 数据库和表的操作 [2P]
1.在终端启动:mysql -uroot -p密码 然后回车: 2.查看数据库的名字:SHOW DATABASES;: 3.选择一个数据库:USE test_STinfo;:(今天总是SELECT,惭 ...
- mysql 横纵表转化_数据库MySQL横纵表相互转化操作实现方法
本文实例讲述了MySQL横纵表相互转化操作实现方法.分享给大家供大家参考,具体如下: 先创建一个成绩表(纵表) create table user_score ( name varchar(20), ...
- MySQL数据库(表的CRUD基础操作(最常用))
作者:渴望力量的土狗 博客主页:渴望力量的土狗的博客主页 专栏:MySQL数据库 工欲善其事必先利其器,给大家介绍一款超牛的斩获大厂offer利器--牛客网 点击免费注册和我一起刷题吧 目录 理解CR ...
- R操作MySQL数据库创建表、删除表、增删改查(CRUD)
R操作MySQL数据库创建表.删除表.增删改查(CRUD) 关系数据中的数据是按照一定范式去存储的.当我们需要非常高级和复杂的Sql查询就可以使用关系数据库的数据资产.不光java和python可以容 ...
- 数据库大表如何优化?
数据库大表如何优化? 当MySQL单表记录数过大时,数据库的CRUD性能会明显下降,一些常见的优化措施如下: 1. 限定数据的范围 务必禁止不带任何限制数据范围条件的查询语句.比如:我们当用户在查询订 ...
- mysql truncate 大表_MySQL删除大表时潜在的问题(drop table,truncate table)
case1,删除大表时,因为清理自适应hash索引占用的内容导致的MySQL服务挂起 case2,大表的随意Drop或者truncate导致MySQL服务的挂起 按照本文中的结论就是 MySQL5.6 ...
- 为什么说mysql数据库单表最大两千万?依据是啥?
为什么说mysql数据库单表最大两千万?依据是啥? 前言 数据库单表行数最大多大 索引的结构 页的结构 从页到索引 B+树承载的记录数量 x怎么算 y的计算 行总数计算 行数超一亿就慢了吗? B树承载 ...
- spark写入oracle 优化,spark读写数据库大表分区性能优化
spark读写数据库大表分区性能优化:经常会遇到spark读写数据库再做分析,像mysql或oracle. 在数据量很大的情况下,如果只有一个worker一个excutor一个task,那你excut ...
最新文章
- javascript保留字
- python3 异步错误 asyncio.Semaphore RuntimeError: Task got Future attached to a different loop
- python基础6(来自廖雪峰的官方网站)
- switch matlab c语言,matlab switch语句使用
- C#LeetCode刷题-递归
- iOS15.4来袭:新增“男妈妈”表情及口罩面容解锁、AirTags反跟踪等新功能
- cocos2D icon
- 经验:如何做好两台BXP服务器(转)
- 服务器如何从bios修改mac,BIOS维修网站www.biosrepair.com-用编程器修改网卡MAC地址
- 360路由器v2刷第三方固件_斐讯K2P MTK版简单几步刷入breed教程,附刷第三方固件方法...
- 【很有趣】用Python实现一个简单的人脸识别,原来我和这个明星如此相似
- Deepin安装dotnet
- Linux查看文件的命令
- 解析DELLR710服务器迁移操作内容
- 同步锁 (synchronized)
- VB.Net - 指令
- apt apt-get_Windows用户准备好进行apt-get吗?
- 「CSS」文本编排相关的CSS属性设置
- [转]IIS网站真正301重定向的方法(任意页面,含问号参数)
- 接手了一座年收入 2000 万美元的“屎山”,我到底该重写还是跳槽?
热门文章
- OpenCV创建自己的corner检测器
- Qt Creator在设计模式下编辑3D资产
- C++不同排序算法的比较(附完整源码)
- C++ Opengl 绘制图像字符源码
- C++11右值引用和移动构造函数
- php输入的值不得小于,PHP代码不允许多个输入值通过我的表单发送
- redis的基本使用笔记二
- 使用IntelliJ IDEA 配置Maven项目(入门)转:http://blog.csdn.net/qq_32588349/article/details/51461182
- 最小二乘法矩阵微分偏导法证明
- BeautifulSoup children descendants对比