错误126 - 表的密钥文件不正确 - 4,8 GB表大小

时间:2014-02-07 12:01:21

标签: mysql

我想从包含280.717.107个条目的表中删除重复项。 该表包含3个字段(无主键)user_idfrom_user_idvalue。 在某些时候,我想删除一些重复的条目。

我们这样说:

user_id  from_user_id  value
1        2             4
2        2             4
3        2             4
1        2             4 #duplicate
5        2             4
8        2             4
9        2             4
9        2             4 #duplicate

我的桌子大小为4,8 GB(我把它丢弃了) 所以我去了服务器(不是phpMyAdmin),在MySQL中我做了以下事情:

CREATE TABLE temp_table SELECT DISTINCT * FROM my_table;

有一次我收到此错误消息:

  

“错误126 - 表”

的密钥文件不正确

有人说这条消息可能是因为内存已满。

我的问题是,我可以以某种方式绕过此内存崩溃并使用我的不同条目创建此新表吗?

1 个答案:

答案 0 :(得分:1)

你可以通过应用像

这样的过滤器来批量尝试
where user_id <= 1000

每次增加值。所以接下来就是

where user_id > 1000 and user_id <= 2000

就像您在评论中提到的那样,limitoffset也会有用。