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但不是tableA. 在tableA我有一个与上述列不同的主键。

有什么建议么?

4

1 回答 1

1

在我看来,您正在执行两次相同的连接(否则我不明白您的查询)。关于什么:

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 回答