Exec比Sql OpenQuery慢

时间:2019-04-18 13:04:37

标签: sql-server

所以我最近发现您可以使用SQL中的EXEC AT将参数传递给链接服务器,例如Oracle。

我抓了一个查询,然后在没有参数的情况下首先进行了测试

EXEC ('SELECT RD6001 as Referencia,
              RD6002 as UAP,
              RD6030 as QTD_AB_PDP_W01 
              FROM D805DATPOR.TRP060D 
              where RD6001 not like ''%OP%'' 
              and RD6001 not like ''%PT%'' ') 
AT MACPAC

然而,这需要大约45秒才能获得2k行。...

如果我运行

SELECT * FROM OPENQUERY(MACPAC, 
    'SELECT RD6001 as Referencia,
            RD6002 as UAP,RD6030 as QTD_AB_PDP_W01 
     FROM D805DATPOR.TRP060D 
     where RD6001 not like ''%OP%'' 
     and RD6001 not like ''%PT%'' ')

这最多只需要2-3秒,如果在此之后运行EXEC AT查询,则需要1秒。为什么EXEC AT速度一开始会有所不同?

0 个答案:

没有答案