每个表建立一个remove字段,但是需要每个查询都查remove=0,,好麻烦啊,还有其他方案吗?
|
1
insert到一个镜像的删除表里
|
|
2
分表存储,定时移走。
|
|
3
Create view xxx
as select .... where remove=0 然后读视图了 |
|
4
查询不都是程序生成的么,怎么会烦。。
或者你可以建立一个语义相反的字段如叫 undeleted,默认 1,删除的时候 update 成 0... |
|
5
可以新建一个 trigger,把删除的行移到新表中。
|
|
6
创建一个字段叫 deleted_at 所有删除的记录,这个字段都是删除时候的时间。
查找记录的时候,只检索这个字段为NULL的记录集。 |
|
7
如果还提供恢复功能,可以在原表添加一个字段,表明是否已经被删除。
如果不需要恢复功能,删除的数据弄到另外一个表保存。 |
|
8
@ipconfiger 这个能详细说说吗?没太看明白
|
|
9
新建一个视图(create view),视图里都是remove=0的行,
查询时直接查询此视图 |
|
10
多个标记位查询,也不算麻烦
|