mysql数据库快速删除千万级数据

mysql数据库快速删除千万级数据,第1张

系统内有一只游戏日志表,每日以百万条数据增长,过段时间需要按照日期清理数据。同事使用delete循环删除过一次,时间久不说,表中的数据是删除了,但是查看服务器发现,*.idb文件大小居高不下,使用optimize table 表名 , 优化表以后,内存大小恢复正常。前前后后花费将近4个小时的时间。效率比较低,偶然想起TRUNCATE TABLE,决定使用以下方案,结果10分钟内,清除3千多万条废弃数据。记录以下,已备下次使用。

按以上步骤,可以解决锁表问题。

在mysql中可以通过“delete from table_name where 1=1 order by order_name limit 20”方法删除前20行数据。

删除前20条数据,肯定是首先需要排序,然后再删除前20条数据。delete from table_name where 1=1 order by order_name limit 20其中table_name是你希望删除数据的所在表表名,order_name 是你希望按照哪个字段来进行排序的字段名,如果是用系统自动默认的排序,order by order_name 这部分可以不写。

MySQL就是结构化数据的集合,同时也是数据库的管理系统,目前MySQL算是比较流行的数据库之一,在web方面,MySQL也是最好的应用软件,和其他的主流 *** 作系统相互兼容。

01

如图,比如我有一张数据表studentinfo,我想要删除studentid为1009的这条数据。

02

我们可以直接点击设计界面下方的减号来删除数据。如图,选中数据,然后点击减号按钮。

03

点击减号之后,就会d出一个提示框,问你是否要删除这条数据。

04

之后,选中的数据记录就从数据表中删除掉了。

05

也可以使用SQL语句来删除数据记录,点击查询菜单下的“新建查询”。

06

如图,在其中输入delete from studentinfo where studentid=1001

这样就可以删除studentid为1001 的数据记录了。

Delete from 后面接的是表名,where后面接的是条件,

因为我是要删除studentinfo表中studentid等于1001的记录,所以就这样写。

07

之后,点击运行按钮来执行删除 *** 作。

08

如图,回到之前的界面,需要点击一下下边的刷新按钮。

09

这样,我们就可以看到1001的那条记录已经被删除掉了。

10

而如果想要删除全部的数据记录,可以直接输入查询语句:delete from studentinfo

运行之后就可以删除全部的数据记录了。

11

如图,所有的数据记录都被删除掉了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7217695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存