2013-04-08 120 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