在 MySQL 中删除软删除行有啥好处?

Posted

技术标签:

【中文标题】在 MySQL 中删除软删除行有啥好处?【英文标题】:Any benefit to deleting a soft-deleted row in MySQL?在 MySQL 中删除软删除行有什么好处? 【发布时间】:2009-09-24 17:37:57 【问题描述】:

我有一个 mysql dB 表,用于记录用户单击某些导航选项卡的时间。每次它都会软删除最后一个条目并插入一个新条目。软删除的原因是出于分析目的,因此我可以随着时间的推移跟踪用户点击的位置/时间/内容。软删除与新条目的比例为 9:1,表大小目前约为 20K,但增长很快。

所以我的问题是:如果删除软删除条目将有助于优化涉及此表的任何查询?目前有一个将 4 个表连接在一起,只需要新条目。由于可以对备份副本执行软删除分析,因此我不需要生产 dB 上的这些行。

【问题讨论】:

把不需要的数据放到另一个表中,比如“clicks_history”。 【参考方案1】:

除了分析之外,将 90% 的表排除在所有查询之外很可能会影响性能:如果这些软删除的行位于它们自己的表(磁盘头)中,则您的索引可能比它们更大必须寻找更大的距离,因此您的磁盘访问比它们在表 1/10 的大小等中更昂贵。

【讨论】:

以上是关于在 MySQL 中删除软删除行有啥好处?的主要内容,如果未能解决你的问题,请参考以下文章

在 MySQL 中使用数字行 ID 有啥好处?

在 PHP 应用程序中使用 MySQL VIEWS 有啥好处? [关闭]

MySQL中的zerofill有啥好处?

使用一对一的表关系有啥好处? (MySQL)

数据库常用语句更新,删除

only_full_group_by 模式有啥好处?