gpt4 book ai didi

mysql - 对每组不同的行进行单次 MySQL 查找

转载 作者:太空宇宙 更新时间:2023-11-03 12:27:28 25 4
gpt4 key购买 nike

我有一个包含 500 万行的表,但 A 列中只有大约 9000 个不同的值,并且需要使用从另一个表中查找来填充另一个列 (B)。我需要运行类似的东西:

UPDATE t SET t.B=(SELECT lookupValue FROM lookuptable WHERE b.lookupKey = X) WHERE t.A=X

其中 X 取 9000 个不同的值中的每一个。

是否有单个查询可以执行此操作,还是我必须求助于应用程序或存储过程中的操作?

我试着一次做很多:

UPDATE t SET B=(SELECT lookupValue FROM lookuptable WHERE b.lookupKey = t.A)

但这会对 500 万行中的每一行进行查找,并且花费的时间太长(如果查找需要 1 秒,则约为 500 万秒,而不是 9000 秒)。

最佳答案

尝试使用 INNER JOIN 查询,它应该更快

UPDATE t 
INNER JOIN lookuptable b
ON b.lookupKey = t.A
SET t.B= b.lookupValue

关于mysql - 对每组不同的行进行单次 MySQL 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16971787/

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