以下のコードは正常に機能しますが、実行するには絶対的な時間がかかります。どうすればこれをスピードアップできますか?
背景:ローカルサーバーをリモートサーバーにリンクしました。ローカルサーバーから、リモートサーバーからローカルサーバーにデータを挿入してから、リモートサーバーのテーブルを更新する必要があります。正確な詳細については、スニペットを参照してください。
DECLARE @temp1 TABLE
(LoginID INT PRIMARY KEY,
UserID UNIQUEIDENTIFIER,
Message NCHAR(1000))
INSERT INTO [My Local Server].[DB Name].dbo.Login
(LoginID, UserID, Message)
OUTPUT INSERTED.LoginID, INSERTED.UserID, INSERTED.Message INTO @temp1
SELECT LoginID, UserID, Message
FROM [Remote Server].[Remote DB Name].dbo.Login2
WHERE Date IS NULL
UPDATE [Remote Server].[Remote DB Name].dbo.Login2
SET Date = GETDATE()
FROM [Remote Server].[Remote DB Name].dbo.Login2 AS z
WHERE EXISTS (SELECT 1 FROM @temp1 AS x WHERE z.Date IS NULL AND x.LoginID = z.LoginID)
編集:
さらに、送信されるデータを圧縮/圧縮することはできますか?