0

リンクサーバーにこのクエリがあります

Select a.PawnMainID into #ExistingID 
from Beautifly.BIOS_PAWN.dbo.tblPawnMain a
inner join Transactions.tbl_PawnMain c
on a.PawnMainID = c.fld_PawnMainID
inner join Reference.tbl_BranchRowVersions b
on cast(a.[PawnMainID]/1000000000000 as decimal (38,0)) = b.fld_ID
where (a.StatusID between 3 and 5)
AND a.RowVersionBo > b.fld_MaxRowVersion

他のコードはまったく正常であるように見えますが、終了するのに永遠にかかります 問題を特定するのを手伝ってもらえますか? 私のコードノートは十分に効率的ですか? もしそうなら、どうすれば改善できますか?

下の図は、リモート クエリのコストが 99% の私の実行計画を示しています。 写真

私のコードが最適化されているかどうかも尋ねたいですか? そうでない場合、どうすれば最適化できますか?

4

2 に答える 2

3

リモートサーバーへのクエリは、最初に接続を確立し、データをクエリし、結果を返し、次に接続を閉じるため、常にコストがかかります。したがって、ここでクエリを高速化する最も簡単なオプションは、一時テーブルでリモート サーバーからデータを取得してからクエリを実行することです。

于 2013-09-12T02:22:06.280 に答える