我有一個InnoDB表,不斷刷新一組新的數據。MYSQL InnoDB快速刪除?
所以,我做了從表(一切)刪除,然後插入新的數據集。
但是,表不能沒有數據集,所以我在交易中做上述事情。
一切都很美妙,但刪除速度變得越來越慢。
有沒有人知道非DDL方式加速刪除?
我有一個InnoDB表,不斷刷新一組新的數據。MYSQL InnoDB快速刪除?
所以,我做了從表(一切)刪除,然後插入新的數據集。
但是,表不能沒有數據集,所以我在交易中做上述事情。
一切都很美妙,但刪除速度變得越來越慢。
有沒有人知道非DDL方式加速刪除?
不知創建第二個表「nextdataset」,然後重命名它將工作,我從來沒有試過這個。 http://dev.mysql.com/doc/refman/5.0/en/rename-table.html
它是一個普通的老式簡易表,只有1個非唯一索引。 正如在上述帖子的評論中提到的那樣,truncate會在一半的時間內提交交易。 – 2010-11-03 13:42:35
使用TRUNCATE TABLE
(MySQL manual)
運行命令\ G SHOW INNODB STATUS在您的mysql監視器中刪除或截斷進程操作時。 MyIsam表比InnoDB快得多,但是沒有回滾是可能的。
丟棄舊錶會提交我的事務,並且在完成重命名之前將數據庫的完整性保持可疑。 但我正在考慮使用這個,因爲我認爲重命名會非常快......不要以爲我曾經測試過重命名。 – 2010-11-03 13:41:38
嗯,有道理。可惜 – Jaydee 2010-11-03 13:44:58
啊,我看你可以原子地重命名多個表:) 我想我可以做這個工作。 – 2010-11-03 13:48:38