gpt4 book ai didi

MySQL InnoDB 删除重复行 - 超时?

转载 作者:行者123 更新时间:2023-11-29 19:24:44 26 4
gpt4 key购买 nike

我已经做了很多查找,我尝试过的每个解决方案似乎都不起作用。我已经删除了主键和自动增量。

我有一个大约有 260k 行的数据库。该架构如下所示:[架构] http://imgur.com/X0oROkc

它是 Amazon RDS 上托管的 MySQL innodb 实例。当我尝试执行以下命令来删除重复行(推文、用户名)时,我收到 2006 错误 - mysql 服务器已消失。

create temporary table tmpTable (id int);

insert tmpTable
(id)
select id
from rawTweets yt
where exists
(
select *
from rawTweets yt2
where yt2.tweet = yt.tweet
and yt2.username = yt.username
and yt2.id > yt.id
);

DELETE FROM rawTweets USING rawTweets, tmpTable WHERE rawTweets.id=tmpTable.id

如有任何帮助,我们将不胜感激!

-马特

最佳答案

另一种方法可能如下:

创建一个与您拥有的相同的表,但在推文和用户名上添加唯一索引并插入替换所有行。

CREATE TABLE unique_tweets LIKE tweets;
ALTER TABLE unique_tweets ADD UNIQUE INDEX `uniq_username_tweet` (`username`, `tweet`);
REPLACE INTO unique_tweets (SELECT * FROM tweets);

之后只需重命名表即可。

关于MySQL InnoDB 删除重复行 - 超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42229046/

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