数据复制优化问题,请高手帮忙

bljbljbljblj 2003-09-12 09:42:40
做了一个物资管理系统,两个数据库服务器
数据库的功能是
数据库服务器A :生成的基础数据,由工作人员录入数据
数据库服务器B :把基础数据加工后供查询使用,数据从A获取

把数据从A复制到B有两种情况:
1。追加数据,对于像出库的情况,A中每增加一条记录B中相应增加一条记录,记录了操作的时间。
2。更新数据,对于像库存的情况,当出库2个某种物资时,这种物资的库存由100个减少到98个,库存只能保存当前物资存放状态。当有新物资入库时,则库B数据库的存数据表中要增加相应的物资库存


对于出库问题,比较容易实现,我在本论坛找到了一个SQL语句加以改动:
//回复人: pengdali(大力) ( ) 信誉:414 2003-4-23 15:01:06 得分:25
//http://expert.csdn.net/Expert/topic/1698/1698065.xml?temp=.5519983
insert 本地库名..出库 select * from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.出库 where 日期=今天

对于库存问题,
我用的是下面这段代码
DELETE 本地库名..库存
GO
select * into 本地库名..库存 from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.库存
GO


目标虽然实现了,效率却非常低,就拿库存来说,库存中有两万条左右的记录,每天发生的也就不到2000条

请问两种方法怎么优化?

...全文
21 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bljbljbljblj 2004-03-04
  • 打赏
  • 举报
回复
设置修改标志,使用NOT IN SQL语句
bljbljbljblj 2003-09-15
  • 打赏
  • 举报
回复
我再顶
bljbljbljblj 2003-09-12
  • 打赏
  • 举报
回复
up a up
bljbljbljblj 2003-09-12
  • 打赏
  • 举报
回复
是啊
我知道、
下一步该怎么走?
伍子V5 2003-09-12
  • 打赏
  • 举报
回复
我觉得你可以设一个修改或插入标志嘛

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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