gpt4 book ai didi

mysql in 子句 vs 一次提交多次删除

转载 作者:行者123 更新时间:2023-11-29 09:09:34 25 4
gpt4 key购买 nike

我有大约 100K 条记录,必须运行以下查询:

delete from users where name in #{String}

其中字符串可以是以下形式的 100K 字符串:Joe、Kate 等。

为了提高性能,是运行上述语句更好,还是在最后用一个 session.commit(); 循环删除一条记录?

已编辑

每个值只能有一条记录

最佳答案

如果您可以创建要运行的批量查询,那么将其分成多个批处理很可能是最快的:

delete from users where name in ('name1','name2','name3',.....'nameX');

delete from users where name in ('nameX+1','nameX+2','nameX+3',.....'nameX+X');

等等..

如果表中已有名称,您可以执行以下操作:

delete from users where name in (select name from table_with_names_to_be_deleted)

关于mysql in 子句 vs 一次提交多次删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6031230/

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