0

レコードの数が原因で数時間かかる次のクエリがあり、それを改善する方法があるかどうか疑問に思います。

update tableA target
inner join
    ( select b.columnZero, b.columnOne, b.columnTwo from tableB b
      inner join tableA a ON b.columnZero = a.columnZero
    ) as source
    on target.columnZero = source.columnZero
set
    target.columnOne = source.columnOne,
    target.columnTwo = source.columnTwo;

編集: columnZeroの主キーですtableBが、ではありませんtableAtableA上記の列とは異なる主キーがあります。

助言がありますか?

4

1 に答える 1

1

同じ結合を2回行っているようです(そうでなければ、クエリがわかりません)。どうですか:

update tableA a
inner join tableB b on a.columnZero = b.columnZero
set
    a.columnOne = b.columnOne,
    a.columnTwo = b.columnTwo;
于 2012-07-03T12:08:05.853 に答える