私はdapper-dot-netをORMとして使用しており、次の低速実行(1700ms)のSQLコードを生成します。
exec sp_executesql N'SELECT TOP 5 SensorValue FROM "Values"
WHERE DeviceId IN (@id1,@id2) AND SensorId = @sensor
AND SensorValue != -32768 AND SensorValue != -32767',N'@id1
bigint,@id2 bigint,@sensor int',@id1=139,@id2=726,@sensor=178
パラメータを削除してこのコードを変更すると、クエリは非常に高速(20ms)で実行されます。これらのパラメータの欠如が実際にこの大きな違いを生むべきでしょうか、そしてその理由は何ですか?
exec sp_executesql N'SELECT TOP 5 SensorValue FROM "Values"
WHERE DeviceId IN (139,726) AND SensorId = 178
AND SensorValue != -32768 AND SensorValue != -32767'