首先你的语句有点问题,应该这样写:update table_1 t1 set t1.name=(select t2.name from table_2 where t1.id=t2.id) where exists (select 1 from table_2 where t1.id=t2.id)and t1.idcard ='1111';之前子查询中的 t1.idcard ='1111' 是多余的。exists子句中的 t1.idcard ='1111'应该拿到外边来。 如果这样还是慢的话,那就是你的索引项建的有问题了,需要把两个表中的id作为索引,还有就是idcard也可以建索引。这样就好了。...