この問題には SQL Server 2008 R2 を使用しています。
私のアプリの 1 つで、別のデータベースのテーブルを参照する必要があります。だから私はクエリを行います:
USE Db1
SELECT * FROM Db2.dbo.Table1
わずか 300 レコードのテーブルでも、クエリが完了するまでに最大 2 秒かかります。遅延は一貫しており、Management Studio で実行して [実行] をクリックすると、結果は同じです。これを約 10 回実行し、一貫した結果が得られました。
今度はクエリを実行しますが、今回は実際のデータベースのコンテキストで実行します。
USE Db2
SELECT * FROM Table1
同じ結果が返されるまでの待ち時間はほとんどありません。
奇妙なことに、最初のクエリに戻ると、遅延が発生しなくなりました。この動作は、SQL Server を再起動するたびに再現されます。
以前にこの動作に遭遇した人はいますか? 私が間違っている可能性があることについて何か考えはありますか?