对于一个大表(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 秒。我究竟做错了什么?