Мы только что перенесли программное обеспечение на новый сервер, и одна конкретная его часть работает медленно (раньше это занимало 1 секунду, теперь занимает 40 секунд).
Следующее по-прежнему работает за 1 секунду (и возвращает 1000 строк из 16 000 - нет независимо от того, сколько строк, это займет 1 секунду):
Код: Выделить всё
IQueryable query = _context.Dogs.Include(x => x.Owner);
query = query.Where(x => x.Id < 1000);
Код: Выделить всё
IQueryable query = _context.Dogs.Include(x => x.Owner);
query = query.Where(x => x.Descr.Contains("the"));
Я понимаю. Содержит
code> не самый эффективный, но он отлично работает на одном сервере и ужасно на другом.
Мы использовали SQL Server Profiler и видим, что при запуске из программный код.
Также мы взяли код SQL, созданный на C#, и запустили его в Management Studio, и это занимает 1 секунду.
Мы попробовали изменить предложения .Where к различному все более сложному коду, и все работает нормально, за исключением использования .Contains.
Помощь, пожалуйста?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ns-is-much
Мобильная версия