我有一个应用程序,该应用程序具有名为active_clients
的表,该表具有五个列,分别为user_id
,is_active
,created_at
,updated_at
和{{1} }。
我每天添加和删除行1000次。但是,我发现的是当我连续使用deleted_at
时,实际上并没有将其删除。只需将db.Delete(&ourRow)
列设置为当前时间。该行本身会一直停留,导致我们的表在一天的过程中爆炸(如我添加/删除的许多行一样)。
这是文档here中概述的行为。使用deleted_at
时,deleted_at
将是一个软删除。我想在应用程序中保留此软删除功能。
这使我想到了主要问题:
使用软删除并避免表爆炸的最佳方法是什么?我的基本想法是设置一个作业,该作业每30分钟自动删除一次Delete
列而不是deleted_at
的列集。这是一个可靠的方法还是我可以做更多的标准?