Exec На медленнее, чем Sql OpenQuery - PullRequest
0 голосов
/ 18 апреля 2019

Итак, я недавно обнаружил, что вы можете передавать параметры с помощью EXEC AT в SQL на связанный сервер, такой как 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 в начале отличается?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...