Jam*_*lor 8 sql sql-server asp.net linked-server openquery
我有这个问题
UPDATE linkeddb...table SET field1 = 'Y' WHERE column1 = '1234'
这需要23秒来选择和更新一行
但是如果我使用openquery(我不想这样做)那么它只需要半秒钟.
我不想使用openquery的原因是我可以安全地为我的查询添加参数,并且可以安全地进行SQL注入.
有谁知道它运行这么慢的任何原因?
这是一种思考作为替代方案.在远程服务器上创建存储过程以执行更新,然后从本地实例调用该过程.
/* On remote server */
create procedure UpdateTable
@field1 char(1),
@column1 varchar(50)
as
update table
set field1 = @field1
where column1 = @column1
go
/* On local server */
exec linkeddb...UpdateTable @field1 = 'Y', @column1 = '1234'
Run Code Online (Sandbox Code Playgroud)