У меня есть импорт между 2 связанными серверами. Я получил данные из многократного объединения в таблицу на моей стороне.
Текущий запрос выглядит примерно так:
select a.*
from db1.dbo.tbl1 a
inner join db1.dbo.tbl2 on ...
inner join db1.dbo.tbl3 on ...
inner join db1.dbo.tbl4 on ...
inner join db2.dbo.myside on ...
db1 = связанный сервер
db2 = моя собственная база данных
После этого я использую вставку в + select, чтобы добавить эти данные в мою таблицу, которая находится в db2. (обычно несколько сотен записей - импорт выполняется раз в минуту)
Мой вопрос связан с производительностью. Таблицы на связанном сервере (tbl1, tbl2, tbl3, tbl4) представляют собой огромные таблицы с миллионами записей, что замедляет процесс импорта.
Мне сказали, что если я выполню соединение на «другой» стороне (db1-связанный сервер), например, в хранимой процедуре, то, даже если запрос выглядит одинаково, он будет выполняться быстрее. Это правильно? Это довольно сложно проверить. Обратите внимание, что объединение содержит таблицу из моей базы данных.
Также. Есть ли другие "хитрости", которые я мог бы использовать, чтобы сделать это быстрее? Спасибо