mysql - 如果一條數(shù)據(jù)在數(shù)據(jù)表中沒用了,是刪除它還是設(shè)置字段表示它已刪除,那種方式更好?
問題描述
經(jīng)常遇到這種問題,我記得以前好像聽人說過通過設(shè)置字段來表示它已被刪除,我也一般是用這種方式,想知道哪一種會(huì)比較好?謝謝大家
問題解答
回答1:現(xiàn)在的數(shù)據(jù)一般都是邏輯刪除,就是你提的這種,另一種是在數(shù)據(jù)庫中物理刪除。就是直接刪除該數(shù)據(jù)。邏輯刪除適用于用戶刪除了該數(shù)據(jù),但是網(wǎng)站還需要統(tǒng)計(jì)的該類數(shù)據(jù),而物理刪除可以用于像手機(jī)驗(yàn)證碼,驗(yàn)證以后,無意義存在的數(shù)據(jù)。
回答2:建議打標(biāo)記,具體原因可以參加我以前摘抄的文章。
數(shù)據(jù)庫設(shè)計(jì)原則–不要?jiǎng)h除數(shù)據(jù)http://xingaiming.com/2015/12...
sf上類似的問題討論:/q/10...
回答3:不刪:在很多情況下,只是多占些磁盤。并不影響系統(tǒng)性能
刪掉:也無所謂的,在絕大部分情況下,你預(yù)計(jì)的用到這些已刪除的數(shù)據(jù)的場景其實(shí)不會(huì)出現(xiàn)。如果會(huì)出現(xiàn),那么這個(gè)功能應(yīng)該是標(biāo)記,而不是軟刪除了。
所以呢,當(dāng)你以后遇到這類問題不知所措的時(shí)候,那就選第一個(gè)好了。因?yàn)檫x項(xiàng)之間并沒有太大差別,沒什么好選的。
回答4:如果敏感數(shù)據(jù)可以標(biāo)志字段,如果不是直接物理刪除
回答5:不重要的數(shù)據(jù)直接刪除就行,像用戶信息做字段刪除好些。。。
