gpt4 book ai didi

mysql - SQL 最有效的删除方式 150000 'OR' 语句

转载 作者:可可西里 更新时间:2023-11-01 07:47:11 24 4
gpt4 key购买 nike

我们为客户保留了一个约 35 万个电子邮件地址的数据库。

他们向我提供了几个 excel 电子表格,其中包含他们想要删除的总计约 15 万个电子邮件地址(长话短说,这是一个垃圾邮件列表,他们已经掌握并希望删除退回邮件)。

利用查找和替换的奇迹,我构建了一个查询来执行这个巨大的删除,但查询花费的时间太长并且超时(这并不奇怪)。

我构建的查询采用以下形式:

DELETE FROM emaillist
WHERE intListID = 68
AND
(strEmailAddress = "aaaa@aaaa.com"
OR strEmailAddress = "aaab@aaaa.com"
OR strEmailAddress = "aaac@aaaa.com"
......
etc etc etc
......
OR strEmailAddress = "zzzy@zzzz.com"
OR strEmailAddress = "zzzz@zzzz.com"
)

有更好的方法吗?

最佳答案

将要删除的电子邮件放在临时表中。然后,您可以使用联接从原始表中删除电子邮件

DELETE e 
FROM emaillist e
INNER JOIN temp_table t ON t.strEmailAddress = e.strEmailAddress
WHERE intListID = 68

之后删除临时表并完成。

关于mysql - SQL 最有效的删除方式 150000 'OR' 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18594850/

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