问一个SQL Server 作业执行的效率问题
背景是这样的,
A 表 有500万条数据,B表有 一亿一千万条数据。
现在是需要根据 A表的时间段范围内的一个字段 跟 B表链接,然后修改B表的几个字段的值。 大概就是这样一个常规的更新,就是数据量大。
我的做法是,把A表的数据按照一个月一个月的取(大概7万多条数据),将其存入临时表,这样用这个小表连接大表B,
我刚才试了一下,吧2016年4月份的数据 进行更新之后(就用SQL查询去弄),大概执行了41分钟才执行完毕。
然后我吧这些代码,写成一个存储过程(就循环月份),代码原封不动就是刚才执行的sql语句。然后没执行一个月就把这个月份信息存到一个表里面去。
但是我刚才看了一下,大概20多分钟已经执行了差不多8个月了。所以我很诧异...是不是作业的执行效率是不是比普通的SQL查询是不是快很多。
PS:我特地查了一下,3月是6万多条 2月是9万多条,1月是6万多条,基本都差不多的数据,而且我看了一下数据更新的没有什么问题,所以排除是我代码写错的问题