数据库清理操作说明

2019-02-22  本文已影响9人  brightranger

当系统运行一段时间后,可能出现反应比较慢。此现象的原因可能是数据库记录多,引起查询速度慢,进而影响系统识别开闸慢。这时,我们可以适当的删除一些不需要关注的历史数据,以提高数据库的查询速度。

查看数据库表的数据量

首先我们需要判断数据库中表的记录条数,以判断系统变慢,是否真是由记录数过多引起的。

select * from information_schema.tables where table_schema='jsds' order by table_rows desc; 
表记录数

删除表历史记录

当判断出表的数据量比较大时,我们就可以删除一些历史数据了。
下面我们以删除t_park_record_in的记录为例

1. 创建新表
show create table t_park_record_in;

得到表的建表语句如图:


建表语句

修改一下表名为t_park_record_in_bak,并执行。

2. 迁移历史数据

把需要保留的数据迁移到备份表中,如下语句:

insert into t_park_record_in_bak select * from t_park_record_in where create_time>'2019-02-22 00:00:00';
3. 切换表

当完成第二步后,就可以切换表了。执行如下语句

rename table t_park_record_in to t_park_record_in_old,t_park_record_in_bak to t_park_record_in;

这样就完成了表的历史记录的删除,如果历史数据不要留(占用磁盘空间),可以使用如下语句彻底删除。

truncate t_park_record_in_bak
上一篇 下一篇

猜你喜欢

热点阅读