在 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 中删除软删除行有啥好处?的主要内容,如果未能解决你的问题,请参考以下文章