正解を見つけるのが難しく、SQL Server 2012 実行計画の出力で問題を指摘されたので、私は自分の質問に答えます。元の質問でわかるように、表面上はすべて問題ないように見えます。これは SQL Server 2008 です。
2012年に同じクエリを実行すると、 CHARINDEX で警告が表示されました クエリ。問題は - SQL Server が型変換をしなければならなかったことです。 住所1 VarChar です クエリには Unicode または NVarChar である N'1124' があります .このクエリを次のように変更すると:
SELECT * FROM LOCAddress WHERE (CAST(CHARINDEX(LOWER('1124'), LOWER([Address1])) AS int)) コード> プレ>
LIKE と同じように実行されます クエリ。そのため、Entity Framework ジェネレーターによって引き起こされた型変換が、この恐ろしいパフォーマンスの低下を引き起こしていました。