sql存储过程访问局域网oracle视图效率问题

wym840713 2008-10-20 02:45:29
比如我在本地 服务器sql里创建里个 可以访问局域网的 另一台服务器oracle数据库的链接 srv_lnk
然后做了个每天可以自动执行导入数据的存储过程

CREATE PROCEDURE input
@cdate char(10)
AS
-- 初始化
DELETE test..table WHERE BusDate = @cdate

--取数
declare @SQLCMD varchar(4000)
set @sqlcmd=N'
INSERT INTO test..table
(BusDate,id,money)
select BusDate,id,money
from openquery(srv_lnk,'+char(39)+'select * from table'+char(39)+')
where convert(char(10),busdate,102)='+char(39)+@cdate+char(39)
EXEC(@SQLCMD)

现在这个存储过程建立后,即使不执行存储过程也影响oracle服务的运行。在oracle服务器查找原因发现原来是
select * from table(table是一个视图) 一直占用oracle数据库所在服务器的 大量资源。
请问如果处理才能在不影响oracle数据库所在服务器的运行效率的情况下,每天可以自动执行存储过程(table视图数据量很大,是关联几个表产生的 视图)????
...全文
99 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2008-10-22
  • 打赏
  • 举报
回复
啟用MSDTC和分佈式事務
yeah920 2008-10-21
  • 打赏
  • 举报
回复
先顶起来再看。
NIJIA72 2008-10-21
  • 打赏
  • 举报
回复
帮你顶一下
aohan 2008-10-20
  • 打赏
  • 举报
回复
在Oracle中运行的结果呢?

openquery中也可以只写需要的列
flairsky 2008-10-20
  • 打赏
  • 举报
回复
即使不执行存储过程也影响oracle服务的运行

这个,会吗?!
那这就不是SP的原因了吧

在oracle服务器查找原因发现原来是
select * from table(table是一个视图) 一直占用oracle数据库所在服务器的 大量资源。

select * from table 这个步骤是不是经常在进行?

你问的问题,前后矛盾
hbxgyyw 2008-10-20
  • 打赏
  • 举报
回复
拿分 走人,问题不会!
等不到来世 2008-10-20
  • 打赏
  • 举报
回复
你job里的语句怎么写的?

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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