一尘不染

连接到链接服务器时查询速度慢

sql

我有这个查询

UPDATE linkeddb...table SET field1 = 'Y' WHERE column1 = '1234'

这需要23秒才能选择和更新一行

但是,如果我使用openquery(我不想这样做),则只需半秒钟。

我不想使用openquery的原因是,我可以安全地向我的查询中添加参数,并且可以避免SQL注入。

有人知道它运行如此缓慢的任何原因吗?


阅读 176

收藏
2021-05-16

共1个答案

一尘不染

这是一个可供选择的想法。在远程服务器上创建存储过程以执行更新,然后从本地实例调用该过程。

/* 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'
2021-05-16