2

私は列を持つテーブルと呼ばれるテーブルを持っています:

  • ID (整数、主キー、クラスター化された、一意のインデックス)
  • TEXT (varchar 15)

LSと呼ばれる MSSQL リンク サーバー上。リンクされたサーバーは、同じサーバー コンピューター上にあります。と:

私が電話するとき:

SELECT ID, TEXT FROM OPENQUERY(LS, 'SELECT ID, TEXT FROM Table')

400 ミリ秒かかります。

私が電話するとき:

SELECT ID, TEXT FROM LS.dbo.Table

200ミリ秒かかります

そして、LSサーバーにいる間にクエリを直接呼び出すと:

SELECT ID, TEXT FROM dbo.Table

100 ミリ秒かかります。

多くの場所で OPENQUERY の方が速いと読んだことがありますが、この単純なケースではうまくいかないようです。このクエリを LS から直接ではなく、別のサーバーから呼び出す場合に高速化するにはどうすればよいですか?

4

1 に答える 1

1

SELECT ID, TEXT FROM OPENQUERY(LS, 'SELECT ID, TEXT FROM dbo.Table')スキーマを使用してクエリを同等にするにはどうすればよいでしょうか。

とにかく、リンクされたサーバーに関するLinchi Sheaのこの記事を読んでください

注: リンク サーバーの呼び出しは、直接の呼び出しよりも常に遅くなります。SQL Server から SSMS への転送は、最初に別の SQL Server インスタンスを通過するため、もちろん遅くなります。

于 2010-03-21T12:37:07.647 に答える