Xml 如何加速此Linq select代码?
我有一个xml文件,每个项目包含3条数据:productName、productCode和productPrice。xml文件中的项目数约为7000个 用户可以通过在文本框中键入“red shirt”等方式按名称搜索产品。 我的代码执行以下任务:Xml 如何加速此Linq select代码?,xml,linq,select,sql-order-by,where,Xml,Linq,Select,Sql Order By,Where,我有一个xml文件,每个项目包含3条数据:productName、productCode和productPrice。xml文件中的项目数约为7000个 用户可以通过在文本框中键入“red shirt”等方式按名称搜索产品。 我的代码执行以下任务: 标记搜索文本并收集包含所有搜索词的productName 按productCode排序所选内容 选择仅显示productName和productPrice(而不是仅用于orderby的productCode) 此代码中的瓶颈在哪里?如何移除它们? 每次
谢谢。没有附加探查器和查看输出,我只能猜测什么是慢的
其中textBox1.Text.ToLower.Split(“”)
可以缓存在查询外部。但我怀疑这是一个严重的问题请注意,这种性质的autocomplete的响应时间非常宽松,最多一秒左右的延迟对于大多数目的来说都是可以接受的。您是否尝试分析此代码?结果如何?每次击键时进行全新搜索总是很慢,尽管XML上的Linq可能比索引表上的sql查询慢。如何加速Linq?不要用它。所有的抽象都比较慢。我从来没有做过任何分析。我正在使用VisualStudio2010。将检查此功能是否可用。
var products = from d in xElem.Descendants(fileName)
where textBox1.Text.ToLower().Split(' ').All(t => d.Element(productName).Value.ToLower().Contains(t))
orderby d.Element(productCode).Value ascending
select new
{
Price = (double.Parse(d.Element(productPrice).Value)).ToString(numberFormat),
Name = d.Element(Name).Value
};