gpt4 book ai didi

mysql - 使用 "IN"缓慢查询 MySQL

转载 作者:搜寻专家 更新时间:2023-10-30 21:44:17 24 4
gpt4 key购买 nike

对于一个大表(100 万条记录),我有一个这样的更新查询:

update direct_words set weight = (weight / 4) where knowledge_id = :a 
and phrase_id in (select phrase_id from phrases where knowledge_id =:b
and phrase_class <> 6);

我有几个索引,但一个是针对字段的:

knowledge_id;phrase_id

这在 SQLite 下运行得非常快(2 秒或更少),但对于 MySQL,相同的查询大约需要 37 秒。我做错了什么?

最佳答案

尝试使用 JOIN 执行它

update  direct_words a
INNER JOIN phrases b
ON a.phrase_id = b.phrase_id
set a.weight = (a.weight / 4)
where a.knowledge_id = :a AND
b.knowledge_id = :b AND
b.phrase_class <> 6

关于mysql - 使用 "IN"缓慢查询 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14274980/

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