我在Linq to SQL中发现了一个巨大的性能问题.
使用字符串从表中进行选择时,传递给sql server的参数始终为nvarchar,即使sql表是varchar也是如此.这导致表扫描而不是搜索,这是一个巨大的性能问题.
var q = (
from a in tbl
where a.index == "TEST"
select a)
var qa = q.ToArray();
Run Code Online (Sandbox Code Playgroud)
该参数作为nvarchar传递,这导致整个索引在使用之前从varchar转换为nvarchar.
如果参数是varchar,那么它是一个非常快速的搜索.
有没有办法覆盖或改变这个?
谢谢关心克雷格.