求一数据导入删除的存储过程

aspxcss 2011-08-11 10:37:56
应用场景为:
一台本地服务器ServerBD,一台远程服务器ServerYC.在本地服务器中将远程服务器建成了一个链接服务器。
远程数据库中的数据在不断增加中,现在需要隔一段时间将远程库中的数据导入本地库中,并删除远程库中己导的数据。

我现在存储过程是这样写的:效率很低,并且不知道正确不正确,请高手指点一下。
USE [kycms]
GO
/****** 对象: StoredProcedure [dbo].[Link_ShanDong] 脚本日期: 08/11/2011 10:37:33 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[Link_ShanDong]

AS
--执行导入数据


begin

INSERT INTO [kycms].[dbo].[Ky_WLXX](bhYuan,qh,lx,nr,dh,cfd,sj,laiyuan) select top 1000 bh,qh,lx,nr,dh,sheng+'-'+shi,sj,'sd' from [shandong].[smsinfo].[dbo].[toshandong2]

end
--
begin

delete from [shandong].[smsinfo].[dbo].[toshandong2]
where bh in(select top 500 bh from [shandong].[smsinfo].[dbo].[toshandong2])
end
--


...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
NBDBA 2011-08-11
  • 打赏
  • 举报
回复
至少要加Order by

begin

INSERT INTO [kycms].[dbo].[Ky_WLXX](bhYuan,qh,lx,nr,dh,cfd,sj,laiyuan) select top 1000 bh,qh,lx,nr,dh,sheng+'-'+shi,sj,'sd' from [shandong].[smsinfo].[dbo].[toshandong2]
order by bh

end
--
begin

delete from [shandong].[smsinfo].[dbo].[toshandong2]
where bh in(select top 500 bh from [shandong].[smsinfo].[dbo].[toshandong2] order by bh)

end


效率问题,加索引是必须的,不过可能解决不了全部问题
geniuswjt 2011-08-11
  • 打赏
  • 举报
回复
delete from [shandong].[smsinfo].[dbo].[toshandong2]
where bh in(select top 500 bh from [shandong].[smsinfo].[dbo].[toshandong2])
end

小改下,不要用in
gw6328 2011-08-11
  • 打赏
  • 举报
回复

delete from [shandong].[smsinfo].[dbo].[toshandong2]
where bh in(select top 500 bh from [shandong].[smsinfo].[dbo].[toshandong2])
换成
;with cte as
(
select top 500 * from [shandong].[smsinfo].[dbo].[toshandong2]
)
delete from cte;
试试
快溜 2011-08-11
  • 打赏
  • 举报
回复
bh 建索引试试
geniuswjt 2011-08-11
  • 打赏
  • 举报
回复
好像是这样,等高手现身
--小F-- 2011-08-11
  • 打赏
  • 举报
回复
IN后面再跟子查询 效率不会高

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧