帮忙优化一下存储过程! 谢谢!
由于数据量太大 这个存储过程 执行起来 太慢了 谁能帮忙优化一下 实现同样的功能 谢谢!
CREATE PROCEDURE peoplechange
AS
begin
declare @sqlStr varchar(5000)
declare @oldBaseName varchar(50)
declare @newBaseName varchar(50)
set @oldBaseName='icme'
set @newBaseName='icme2'
while @@fetch_status = 0
begin
----上课表
select @sqlStr='insert into '+@newBaseName+'..上课表'
select @sqlStr=@sqlStr+'(id,课题编号,人员编号,日期,状态) '
select @sqlStr=@sqlStr+'select left(newid(),35),isnull('+@oldBaseName+'..上课表.课题编号,'' ''),isnull('+@oldBaseName+'..上课表.人员编号,'' ''),isnull('+@oldBaseName+'..上课表.日期,'' ''),0 '
select @sqlStr=@sqlStr+'from '+@oldBaseName+'..上课表 where 课题编号 not in(select 课题编号 from '+@newBaseName+'..上课表) or 人员编号 not in (select 人员编号
from '+@newBaseName+'..上课表) or 日期 not in (select 日期 from '+@newBaseName+'..上课表)'
exec(@sqlStr)
end
end