2

我有两张桌子。第一个名为“权重”,包含大约 250.000 行:

中/重量

1 / 3

2 / 12

3 / 7

第二个称为“收件人”,大约有 200 万行,是这样的:

中/重量

1 / -

1 / -

1 / -

2 / -

我正在尝试使用“权重”表中的“权重”信息填充它,并且正在使用此查询:

UPDATE recipient A
SET weight =
  (SELECT weight
   FROM recipient B
   WHERE B.mid = A.mid)

该查询似乎适用于前几行,但似乎 200 万太多了。我在我的 Mac 上运行 MAMP。你会建议我怎么做?

4

1 回答 1

2

我确实怀疑您的表上没有定义索引。

UPDATE  recipient A
        INNER JOIN weight B
            ON B.mid = A.mid
SET     a.weight = b.weight

为了获得更快的性能,请在其上创建weight.mid主键和引用recipient.mid

于 2013-05-11T17:06:27.840 回答