当我在sql Server 2005中执行以下查询时,它使用索引查找,通过查看执行计划进行验证.
SELECT * FROM Account WHERE Number = '123456789'
但是当我运行相同的查询但使用参数时,它使用索引扫描.@H_301_5@
DECLARE @AccountNumber NVarChar(25) SET @AccountNumber = '123456789' SELECT * FROM Account WHERE Number = @AccountNumber
由于此表有超过1000万行,因此第二个查询需要30秒以上,而第一个查询只需几毫秒.我是否真的必须将我的所有查询更改为不使用参数?@H_301_5@