我有以下查询,它在两个表上运行,每个表有超过80,000和40,000条记录:
update
profileimageurls piu
inner join
profileuniqref pr
on piu.imageurl = pr.uniqueimageurl
set piu.uniqueimagekey = pr.keyid;profileimageurls表结构:
Field Type Null
KeyID bigint(20) unsigned NO
UserID bigint(20) unsigned NO
ImageURL varchar(4000) NO
UniqueImageURL varchar(4000) YES
Error varchar(10000) YES
Status tinyint(3) unsigned YES
uniqueImageKeyid bigint(20) unsigned YESprofileuniqref的表结构:
Field Type
KeyId bigint(20) unsigned
uniqueimageurl varchar(4000)
md5hash varchar(32)
md5hashbinary varchar(16)当我运行这个查询时,我反复得到Lock and Wait timeout。
发布于 2013-12-06 17:37:22
确保在join条件中使用的列上有索引。
发布于 2013-12-06 17:38:22
如果您在连接表之间有外键,并且您正在更新键,这可能会导致mysql更新这两个表之间的键数据。
https://stackoverflow.com/questions/20420403
复制相似问题