假如提高关联表更新效率,实在太慢了~

MySql 码拜 8年前 (2016-02-13) 1147次浏览
update tb_student ts,tb_user tu set ts.CreateUserId=tu.Id where ts.CreateUserId=tu.OId;
tb_student 数据 30W
tb_user 几百条
上面语句执行的话好久好久,不知道多久。
原因是假如用php来执行的话,可以先把tb_student group一下,再循环执行也就百来条语句而已,但在MYSQL里面不知道怎么拼装语句,有人指点一下吗,不要说直接在PHP里写,原因是很多这种表。
解决方案

10

以文本方式贴出
explain select * from tb_student ts,tb_user tu  where ts.CreateUserId=tu.OId;
show index from ..
以供分析。

40

tb_student  上创建CreateUserId 字段的索引。
tb_user 上创建 OId字段的索引

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明假如提高关联表更新效率,实在太慢了~
喜欢 (0)
[1034331897@qq.com]
分享 (0)