MySQL將整天將新值添加到MySQL數據庫中。該表中有超過800萬行。由於有許多舊值,我想在不停止Java程序插入值的情況下清除這些值。MySQL同時對同一個表執行2個查詢
我送此查詢到MySQL:
DELETE FROM `tablename`
WHERE `from` <= (date_add(now(), interval -20 DAY))
,但發生的事情是在Java程序停止添加新值表。有沒有什麼辦法可以在不編輯Java程序的情況下處理這個問題? 我會願意每天運行一次cronjob查詢。
我也嘗試使用參數LOW_PRIORITY,但它沒有任何區別。
是你的表MyISAM或InnoDb不是那麼高效。但是您應該能夠將鎖定級別從表級更改爲行級。 http://dev.mysql.com/doc/refman/5.0/en/innodb-lock-modes.html – charly 2013-03-10 21:02:59
你說java程序停止添加記錄。細節是什麼?它會拋出一個錯誤嗎? – 2013-03-10 21:09:24
你能否澄清一下'oracle'標籤與你的問題有關? – 2013-03-10 21:40:37