一个表UPDATE另一个表,如何提高速度
table1
姓名 月份 工资
-----------------
张三 1 1000
李四 1 800
王五 1 700
张三 2 1050
李四 2 800
王五 2 740
张三 3 1300
李四 3 800
王五 3 700
.....
table2
姓名 月份 工资
-----------------
张三 1 1200
李四 1 820
王五 1 700
update a set a.工资=b.工资 from table1 a,table
b where a.姓名=b.姓名 AND a.月份=b.月份
现在TABLE1有十多万条记录,在查询分析器上用上面这个UPDATE语句,时间很长要20秒,有什么办法可以提高速度?另外奇怪的是在查询分析器上重复再执行一次时间只要8秒。
------解决方案--------------------在存储过程中调用应该相对来说好点,好象没什么其它方法
------解决方案--------------------楼主写的就可以,数据多速度是会慢.
------解决方案----------------------改为left join (2000/以上版本对left join 进行了数据库引擎优化)
update a
set a.工资=b.工资
from table1 a left join [table] b on
a.姓名=b.姓名 AND a.月份=b.月份
------解决方案--------------------查询分析器是否会自动作优化处理?
会的
我的异常网推荐解决方案:软件开发者薪资,http://www.aiyiweb.com/other/1391128.html