2010-07-07 83 views
2

是否有任何軟件會對錶格中的行進行「懶惰」刪除操作。當我的服務器空閒時,我想維護我的表,理想情況下,我應該能夠定義什麼是「空閒」(每秒數據庫連接數/系統負載/請求數)。有什麼與此類似的嗎?表格行的懶惰刪除

回答

1

在某種程度上,從內部的角度來看,InnoDB已經做到了這一點。行最初被標記爲已刪除,但僅作爲後臺操作的一部分而被釋放。

我的建議:如果您嘗試首先檢查服務器是否空閒,您可以進入不必要的複雜問題。即

  • 如果它空閒,但清理需要2分鐘,該怎麼辦?在那2分鐘內服務器負載高峯?

  • 如果服務器永遠不夠閒置會怎麼樣?現在你只有無限的積壓。

如果你只是背景任務,你可能會提高性能,因爲現在至少沒有用戶會坐在網頁前面等待它完成。查看活動圖表,瞭解安排它的最佳時間(早上3點,上午5點等)。

2

如果你在一個linux服務器上,你可以讓你的表清理腳本只能根據命令「w」的輸出運行,這會向你顯示一個系統負載。如果你的系統負載低於.25你可以運行你的腳本。使用shell腳本執行此操作。

+1

「正常運行時間」提供相同的負載平均數據,比「w」更簡潔一些。 – 2010-07-07 17:40:01