gpt4 book ai didi

mysql - 如何从 MySQL 中删除大数据?

转载 作者:行者123 更新时间:2023-11-29 01:58:14 24 4
gpt4 key购买 nike

我的表中有 50 GB 的数据,如果记录早于特定日期,则必须在备份后将其删除。

目前我按照以下步骤:

  1. 备份整个表。
  2. 使用 where 子句运行删除查询以删除不需要的数据:

    DELETE FROM <some-table-name> WHERE `creation_time` <= '<some-valid-time>'

当前方法的问题是:

  1. 速度慢得令人痛苦。
  2. 数据的冗余存储,当只需要增量数据时;由于对整个表进行了备份,但仅删除了选择性记录。
  3. 删除后磁盘空间不会返回给操作系统(直到优化完成)。

我曾想过将该表分解成更小的表,以每周/每月为基础,这样可以轻松备份和删除,但将它们一起查询将非常困难和缓慢。

请建议一些聪明有效的方法来做到这一点。

最佳答案

使用 creation_time 作为 partitioning key , 制作每周或每月的分区。 Dropping old partitions is incredibly fast .

关于mysql - 如何从 MySQL 中删除大数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22267939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com