mysql 删除时间范围数据_mysql数据库按时间删除数据总结
今天访问程序时报如下异常:
主要原因如下:
数据库所在磁盘空间不够所致。
于是登录数据库所在的服务器,查看了下数据库所占的磁盘空间如下:
可以看到磁盘的33G,被全部占满了,于是就开始了数据库表的清理工作。
1.首先执行以下sql语句,查询数据库中各个表所占空间大小,输出按降序排序
SELECT TABLE_NAME, CONCAT(TRUNCATE(data_length/1024/1024,2),' MB') AS data_size,
CONCAT(TRUNCATE(index_length/1024/1024,2),' MB') AS index_size
FROM information_schema.tables WHERE TABLE_SCHEMA = 'olderdb'
GROUP BY TABLE_NAME
ORDER BY data_length DESC;
输出结果如下:
看见了吧,一亿多条数据,占用了十几G的内存空间。
那么如何删除了,首先查看表字段:
发现sttime字段是按照时间顺序插入的,这就简单了,直接按照时间段删除数据就可以了。具体的删除方法如下:
按时间段进行删除操作,sql如下:
① 使用BETWEEN关键字根据时间字段删除一定时间内的记录
DELETE FROM 表名 WHERE 时间字段 BETWEEN 开始时间 AND 结束时间
示例:
DELETE FROM tb WHERE CreateTime BETWEEN '2017-01-01 00:00:00' AND '2017-02-01 00:00:00'--删除tb表中2017年1月1日到2017年2月1日的数据
② 使用时间字段比较大小来确定删除范围
--语法:DELETE FROM 表名 WHERE 时间字段>=开始时间 AND 时间字段<=结束时间
示例:
DELETE FROM tb WHERE CreateTime>='2017-01-01 00:00:00' AND CreateTime<='2017-02-01 00:00:00'
ok,执行删除语句比较费时,数据量大的话可能要删几个小时,像我这种上G的数据量估计得删除一天了。
注意:
本文介绍的只是遇到突发状况,像我这种磁盘撑爆了,只能临时抱佛脚,在实际开发中,都是写触发器的,每隔一段时间调用下触发器后台删除就完了。
mysql 删除时间范围数据_mysql数据库按时间删除数据总结相关推荐
- mysql插10万条数据_MySQL数据库插入100w条数据要花多久?
MySQL数据库插入100w条数据要花多久? 1.多线程插入(单表) 2.多线程插入(多表) 3.预处理SQL 4.多值插入SQL 5.事务(N条提交一次) # 多线程插入(单表) 问:为何对同一个表 ...
- mysql 异常关机后 无法查数据_MySQL数据库非法关机造成数据表损坏怎么排查 | 学步园...
该篇文章我们介绍由于非法硬件关机,造成了MySQL数据库的数据表损坏,数据库不能正常运行的一个实例.下面学步园小编来讲解下MySQL数据库非法关机造成数据表损坏怎么排查? MySQL数据库非法关机造成 ...
- mysql中如何去除重复数据_mysql数据库如何去除重复数据
mysql数据库去除重复数据的方法:1.查询需要删除的记录,会保留一条记录:2.删除重复记录,只保留一条记录,代码为[delete a from test1 a, (...)as bid from t ...
- mysql查询 伪列_Mysql数据库查询到的数据设置伪列显示
本次查询表为: tasks 查询的字段为: id,name 查询语句为: select id,name from tasks; 查询结果为: +----+------------+ | id | n ...
- 从mysql数据库中删除一行数据_mysql数据库删除一行数据
[MySQL]命令行工具和基本操作 原文:[MySQL]命令行工具和基本操作 一 MySQL命令行工具 (查看帮助 ---help,或 -?) 1)MySQL MySQL是一个简单的SQL外壳(有G ...
- MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...
- Excel向数据库插入数据和数据库向Excel导出数据
为了熟悉java里工作簿的相关知识点,所以找了"Excel向数据库插入数据和数据库向Excel导出数据"的功能来实现. 注意事项:1,mysql数据库: 2,需要导入的jar包有 ...
- mysql没有索引删除一亿数据_mysql数据库如何实现亿级数据快速清理
今天收到磁盘报警异常,50G的磁盘被撑爆了,分析解决过程如下: 1. 进入linux服务器,查看mysql文件夹中各个数据库所占的磁盘空间大小 看到了吗,光olderdb就占了25G 2. 用SQLy ...
- mysql怎么快速删除亿级数据_mysql数据库如何实现亿级数据快速清理
今天收到磁盘报警异常,50G的磁盘被撑爆了,分析解决过程如下: 1. 进入linux服务器,查看mysql文件夹中各个数据库所占的磁盘空间大小 看到了吗,光olderdb就占了25G 2. 用SQLy ...
最新文章
- 在ubuntu12.04 的QT安装
- Oracle 数据库整理表碎片
- TCP传输的单个报文最大字节(MSS和MTU)
- 【Boost】boost库asio详解1——io_service::run函数无任务时退出的问题
- 老男孩Day1作业(一):编写登录接口
- 根据经纬度求最近点的三种解法java实现
- 移动硬盘备份linux系统盘,将Ubuntu Linux系统放到你的移动硬盘
- 初学 Delphi 嵌入汇编[27] - XCHG 指令: 交换寄存器的内容
- devops流程工具_您的DevOps工作流程依赖哪些工具?
- python保存模型 drop_(长期更新)【python数据建模实战】零零散散问题及解决方案梳理...
- 如何在Mac上使用终端阻止网站?
- Java字符串首字母大写
- 中级 PHP 知识点汇总
- Microsoft SQL Server 2008 R2官方中文版(SQL2008下载).rar
- Cboard修改-折线图/柱形图,显示数据、修改颜色、柱形图设置最大宽度
- IP报文格式及各字段的意义
- [完美解决] kali打不开Google Chrome 双击谷歌浏览器图标无反应
- Photoshop插件-证件照-3寸裁剪-3寸排版-脚本开发-PS插件
- 小学计算机应用计划,小学计算机教学计划
- 搭建mqtt服务器mosquitto以及添加CA证书