2013-04-08 165 views
1

我有一个WordPress站点。一些数据库表格正在变得越来越大 - 从插件收集的数据。我知道有两种方法可以删除这些数据:MySQL表 - 删除旧行

  1. 我可以手动删除行 - 1000一次 - 在phpmyadmin。
  2. 我可以在phpMyAdmin清空整个表。

我在寻找的是第三种方式,这样我就可以删除在某个时间段之前收集的数据。

正如上面提到的,我知道我可以行按日期排序,并在同一时间删除1000 - 摆脱旧的。但是,有超过一百万行。是否有一个可用于删除的单个过程 - 例如 - 所有超过60天的行?

+0

你尝试看看在SQL DELETE语句记录?我认为这可能是你的第三条路。 – ArchiFloyd 2013-04-08 18:05:25

+0

我不知道Wordpress表格,但phpMyAdmin让你使用SQL语句。你需要一个“DELETE FROM TABLE WHERE ...”。但请注意,删除行并不会立即使数据库缩小。您需要为此进行备份和恢复。 – 2013-04-08 18:08:09

+2

您不需要备份和恢复。你可以使用'OPTIMIZE TABLE'来重建它。 – tadman 2013-04-08 18:08:48

回答

0

要删除超过60天,你可以做这样的事情

DELETE 
    FROM table1 
WHERE datefield < DATE_SUB(CURDATE(), INTERVAL 60 DAY) 

SQLFiddle

+0

这个答案的工作很重要的是将DateField的存在。 OP没有说明这一点。 – stUrb 2013-04-08 18:15:06

+0

@ user2258740有帮助吗?你需要更多的帮助吗? – peterm 2013-04-09 19:37:56