MVC - поиск по миллионам записей медленного C # - PullRequest
0 голосов
/ 23 декабря 2018

Я столкнулся с проблемой, когда я запрашиваю миллионы записей, и это занимает некоторое время.Запрос довольно прост, но мне нужно от 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 голосов
/ 23 декабря 2018

Вы делаете ошибку, получая записи, а затем сортируете их.В моем решении метод сортировки был добавлен в запрос к базе данных.Метод сортировки базы данных намного быстрее, чем метод сортировки объекта.Таким образом, вы можете делать записи немного быстрее, как это:

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

return View(AllProducts);

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

Вкл.С другой стороны, вы можете добавить индекс к столбцу Заголовок в вашей базе данных.Это ускоряет результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...