gpt4 book ai didi

mysql - 如何快速修剪大表?

转载 作者:可可西里 更新时间:2023-11-01 06:53:05 26 4
gpt4 key购买 nike

我目前有一个大约2000万行的MySQL表,我需要对其进行剪枝。我想删除 updateTime(插入时间戳)超过一个月前的每一行。我没有亲自对表的顺序进行任何更改,因此数据应该按照插入的顺序排列,并且两个字段上有一个 UNIQUE 键,id更新时间。我将如何在短时间内完成这项工作?

最佳答案

您可以承受多少停机时间?行有多大?你要删除多少?

简单地说,删除行是您可以对表执行的最昂贵的操作之一。总体而言,这只是一件可怕的事情。

如果您不必这样做,并且您有足够的磁盘空间,并且您的查询不受表大小的影响(索引良好的查询通常会忽略表大小),那么您可以保留足够好一个人。

如果您有机会并且可以使表脱机(并且您正在删除表的很大一部分),那么最好的办法是将要保留的行复制到新表中,删除旧表第一,将新名称重命名为旧名称,然后重新创建索引。

否则,您几乎只能使用良好的“ol delete”。

关于mysql - 如何快速修剪大表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3223853/

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