我有一個10M行的大表,我們稱它爲表A. 我也有另外一張具有相同結構的表,並且有2M行。我們稱它爲表B.在MySQL的大型表上運行INNER JOIN的最佳方式是什麼?
每行包含大約20個字段(包括文本和數字)。
我想用表B中的適當行的值(通過主鍵連接)更新表A中的所有行。
瑣碎的更新運行幾個小時:
UPDATE A
INNER JOIN B
ON A.primary_key=B.primary_key
SET A.field1=B.field1,
A.field2=B.field2....;
你能不能指點一些更聰明的做法在內部而不是一個單一的UPDATE命令加入?
在此先感謝!
innodb或myisam?如果innodb開始反式;更新;承諾; http://dev.mysql.com/doc/refman/5.0/en/commit.html – 2012-04-01 13:01:05
InnoDB。 爲什麼「啓動trans; update; commit」會使UPDATE更快? – diemacht 2012-04-01 15:21:29