OperatorID更新到表1的ownoper中去,
二、语句是:update sealmsgtb as seal inner join tellermappingtb as tm on seal.ownoper=tm.orgoperid set seal.ownoper=tm.operatorid where seal.ownoper=tm.orgoperid;
结果是执行的时间需要半个小时,数据量也就不到2万条!有什么好的方法让sql语句执行的快些或者是用别的方法也行。小菜在先谢谢了!
6 个解决方案
#1
update sealmsgtb t1 set t1.ownoper=(select min(OperatorID) from tellermappingtb t2 where t1.ownoper=t2.OrgOperID)
#2
update sealmsgtb as seal,tellermappingtb as tm
set seal.ownoper=tm.operatorid
where seal.ownoper=tm.orgoperid and seal.ownoper=tm.orgoperid
set seal.ownoper=tm.operatorid
where seal.ownoper=tm.orgoperid and seal.ownoper=tm.orgoperid
#3
语法再烂 如果有索引也不会这么慢
楼主加索引 改改楼上两位的那种语法
楼主加索引 改改楼上两位的那种语法
#4
楼主,上执行计划啊,explain
#5
创建索引,加快执行速度,记住索引要常用,记得监控索引
#6
2万数据是满足条件的,还是总数据,如果是总数据,那么可能是锁导致的,也就是你更新时有其他人操作数据,导致你的操作等待了
如果满足条件的只有2万,总数据量很大,那么是检索年问题,估计是没有索引导致
如果满足条件的只有2万,总数据量很大,那么是检索年问题,估计是没有索引导致
#1
update sealmsgtb t1 set t1.ownoper=(select min(OperatorID) from tellermappingtb t2 where t1.ownoper=t2.OrgOperID)
#2
update sealmsgtb as seal,tellermappingtb as tm
set seal.ownoper=tm.operatorid
where seal.ownoper=tm.orgoperid and seal.ownoper=tm.orgoperid
set seal.ownoper=tm.operatorid
where seal.ownoper=tm.orgoperid and seal.ownoper=tm.orgoperid
#3
语法再烂 如果有索引也不会这么慢
楼主加索引 改改楼上两位的那种语法
楼主加索引 改改楼上两位的那种语法
#4
楼主,上执行计划啊,explain
#5
创建索引,加快执行速度,记住索引要常用,记得监控索引
#6
2万数据是满足条件的,还是总数据,如果是总数据,那么可能是锁导致的,也就是你更新时有其他人操作数据,导致你的操作等待了
如果满足条件的只有2万,总数据量很大,那么是检索年问题,估计是没有索引导致
如果满足条件的只有2万,总数据量很大,那么是检索年问题,估计是没有索引导致