クエリプランナは、すでに持っている情報に基づいてリテラルクエリで決定を下したようです。特定のリテラルで指定されたデータの広がりに基づいて効率的にクエリできる統計が含まれます。
パラメータ化されたクエリは、テーブル内のすべてのデータに対して最も公平であると信じるクエリを選択しました。これは、多くのネストされたループ(パフォーマンス=不良)であることに気付くでしょう。
おそらく、データベースでデータベース最適化ツールを実行して、いくつかのインデックスがここで役立つかどうかを確認することができますか?
特にクエリで、これを試してください:
declare @p0 int
set @p0 = 1000
select *
from foo
join bar on bar.x = foo.x
join baz on baz.y = foo.y
where foo.x = @p0
OPTION ( OPTIMIZE FOR (@p0 = 1000))
ただし、このクエリに含まれるデータが変更されないこと、およびこのプランのクエリが常により効率的になることを確信せずに、これを行うことには注意が必要です。