我想知道是否有人可以提供各種理由/解決方案來知道何時刪除數據庫中的記錄,而不是簡單地通過字段值在讀取操作期間隱藏它們,例如is_hidden=1
。從數據庫中刪除記錄或在讀取期間隱藏它們?
我的應用程序是一個社交網絡/電子商務Web應用程序。我傾向於支持is_hidden
戰略,但隨着網站的增長,我可以看到這導致了一個表現糟糕的網站。
這是我的清單。我錯過了什麼樣的項目?名單的優先順序是否好?
Delete
:
- 理由:減少表的大小/提高數據庫的性能
- 理由:有用的,如果數據是微不足道的創建
- 解決方案:SQL
DELETE
is_hidden
:
- 理由:允許用戶/ DBA來恢復數據/敏感&很難
CREATE
數據 - 理由有用:可以
DELETE
它以後如果有必要 - 解決方案:SQL
SELECT ... WHERE is_hidden!=1
的思考?
你已經給你的理由,這取決於你決定。 ':D'選擇最適合您情況的最佳選擇。 – 2013-02-27 15:44:59
這可能更適合DBA堆棧交換。但是,我們通常會選擇邏輯刪除(隱藏/刪除字段)並將其設爲開發任務,以定期備份和清除「已刪除」的數據。通過這種方式,您可以保持審計線索的簡單性和能力,只是邏輯上刪除東西,但通過每隔一段時間就將其刪除即可控制數據。 – Arran 2013-02-27 15:45:24
這真的取決於你自己的情況。有時你可以刪除和其他軟刪除數據。 – Taryn 2013-02-27 15:45:26