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