我有一个应用程序,它产生了过去15年的数据。目前,没有配置任何保留期,因此数据大小会与日俱增。我想在数据中添加一个保留期,这样我们就可以避免不必要的内存和性能开销。
我在探索如何根据数据的使用情况来确定最佳的保留期,但什么也找不到。我所想到的一些想法:
*了解查询模式。*为数据可访问性添加应用程序日志。
想知道这个问题是否有已经解决的解决方案?
发布于 2021-06-03 22:52:57
MySQL不会在每一行保留任何类型的隐藏时间戳。
通常,人们包括一个created_at列(或类似的列);这可以用于清除“旧”行。
警告:一个巨大的DELETE将对数据库产生巨大的影响--阻塞其他活动。因此,如果数据集是“大的”,那么在这里继续执行建议:http://mysql.rjweb.org/doc.php/deletebig
但值得吗?你有多少数据?你有多少磁盘空间?您有什么查询可以扫描整个表吗?索引能阻止这种缓慢的扫描吗?
如果您想进一步讨论,请提供SHOW CREATE TABLE。
https://dba.stackexchange.com/questions/292740
复制相似问题