gpt4 book ai didi

mysql - 无法删除数据,MySQL

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:18 24 4
gpt4 key购买 nike

我有一个大型数据库,在 5 个表中包含大约 4000 万行。我需要从一个表中删除其中一列的值在第二个表中不存在的行。

我已经尝试编写查询来删除一些行以及将我不想删除的行插入到另一个表中:

DELETE FROM user_followersid WHERE followersIds_generatedId IN(SELECT * FROM generatedfollowers)

CREATE TABLE tempfollowersids as SELECT * FROM user_followersid WHERE followersIds_generatedId IN (SELECT generatedId from followersid WHERE followerId IN (SELECT * FROM topusers));

删除耗时很长,最后每次都失败,报如下错误:

错误 1206 (HY000):锁总数超过锁表大小

我什至尝试过使用 LIMIT 一次只删除几行,但这也花费了很多时间。我知道 IN 非常慢。但我找不到任何其他方式来编写我的查询。

关于如何删除行的任何想法?

最佳答案

你说:

which a column has values that don't exist in the second table

那么,您的查询不应该是:

DELETE FROM user_followersid 
WHERE followersIds_generatedId NOT IN
(SELECT DISTINCT id FROM generatedfollowers)

关于mysql - 无法删除数据,MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8391606/

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