Mysql
保持ROW = NULL 還是DELETE 呢?
在這個方案中
id uid content 1 1 A 2 1 B 3 1 C 4 1 D 5 1 E
如果使用者決定他不需要這些行,
id = 3, 4, 5
讓他將其設置content
為更好NULL
還是只刪除該行?這個過程發生了很多次,他可能會
NULL
再次使用插槽。我是否仍然使用UPDATE
並將其設置為NULL
以防他將來更改它?還是只是DELETE
整行?問題就像:是不是更好
DELETE
行?INSERT
| ->DELETE
->INSERT
..DELETE
->INSERT
要麼
UPDATE
行?INSERT
| ->UPDATE to NULL
->UPDATE to value
..UPDATE to NULL
->UPDATE to value
如果這些行將被頻繁重複使用,最好將值設置為
NULL
,或者簡單地添加一列is_deleted
以指示該行已被軟刪除。連續刪除和插入行會導致表碎片嚴重,並可能導致性能下降。這通常用於隊列中有已知數量的槽(行),並且這些槽是提前分配的。如果這些行不會被重新使用,或者很少被重新使用,那麼最好釋放這些行使用的空間。