MVC-搜索数百万条速度缓慢的C#

时间:2018-12-22 21:54:38

标签: c# asp.net-mvc

我遇到了一个问题,我要查询数百万条记录,这需要一段时间。该查询非常简单,但需要8到12秒的时间才能返回给我。有没有办法提高其性能?下面是我的代码:

List<Product> AllProducts;

var item = from m in db.Products
           select m;

item = item.Where(s => s.Title.Contains(SearchKeyword));

AllProducts = item.ToList();
AllProducts = AllProducts.OrderBy(a => a.UPC).ToList();

return View(AllProducts);

1 个答案:

答案 0 :(得分:1)

获取记录然后对它们进行排序会导致您犯错。在我的解决方案中,排序方法已添加到数据库查询中。数据库的排序方法比实体框架的排序方法快得多。这样您可以像这样更快地记录:

List<Product> AllProducts = db.Products.Where(s => s.Title.Contains(SearchKeyword))
                                       .OrderBy(a => a.UPC)
                                       .ToList();

return View(AllProducts);

--------------------

另一方面,您可以将索引添加到数据库的“标题”列中。这样可以加快结果。