来自其他表的多个更新表
有以下简化和简化的表格:
table_a:
label type code
----- ---- ----
'----' 'ab' '0123' <-- label will be changed
'----' 'ab' '8234' <-- label will be changed
'----' 'ab' '9176' <-- label will not be changed
'----' 'cd' '4554' <-- label will be changed
'----' 'cd' '5122' <-- label will be changed
'----' 'cd' '7777' <-- label will not be changed
table_b:
label type code
----- ---- ----
'KOTA' 'ab' '01' <-- will match
'KOTA' 'ab' '8' <-- will match
'KOTA' 'ab' '923' <-- will not match
'RRHW' 'cd' '4' <-- will match
'WWUP' 'cd' '512' <-- will match
使用以下查询更新表 a:
UPDATE table_a AS a
RIGHT JOIN table_b AS b
ON a.type = b.type
AND LEFT(a.code, LENGTH(b.code)) = b.code
SET a.label = b.label;
它有效,但在我们数据库中的实际情况下,这非常慢。我无法更改数据库(添加索引或 . . . )。有没有更好(更快)的方法来更新表 a?