Como otimizar o servidor vinculado simples Selecionar consulta?
-
20-09-2019 - |
Pergunta
Eu tenho uma mesa chamada Mesa com colunas:
- Id (int, chave primária, índice exclusivo, agrupado)
- Texto (Varchar 15)
Em um servidor vinculado ao MSSQL chamado Ls. O servidor vinculado está no mesmo computador servidor. E:
Quando eu ligo:
SELECT ID, TEXT FROM OPENQUERY(LS, 'SELECT ID, TEXT FROM Table')
Leva 400 ms.
Quando eu ligo:
SELECT ID, TEXT FROM LS.dbo.Table
Leva 200 ms
E quando eu ligo diretamente na consulta enquanto estiver no servidor LS:
SELECT ID, TEXT FROM dbo.Table
Leva 100 ms.
Em muitos lugares que li, o OpenQuery é mais rápido, mas neste caso simples, ele não parece funcionar. O que posso fazer para tornar essa consulta mais rápida quando a chamo de outro servidor, não LS diretamente?
Solução
A respeito SELECT ID, TEXT FROM OPENQUERY(LS, 'SELECT ID, TEXT FROM dbo.Table')
Para tornar as consultas equivalentes usando o esquema?
Enfim, leia isso Artigo de Linchi Shea sobre servidores vinculados
Nota: Uma chamada do servidor vinculada sempre será mais lenta que uma chamada direta. Do SQL Server para o seu SSMS, agora está passando por outra instância do SQL Server primeiro, então é claro que será mais lento.