Оно отлично работает на моем ПК и отлично работает на сервере в течение года.
Мы только что перенесли программное обеспечение на новый сервер, и одна конкретная его часть работает медленно (раньше это занимало 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"));
Я понимаю, что .contains — это не наиболее эффективно, но это работает нормально на одном сервере и ужасно на другом.
Мы использовали SQL Profiler и видим, что при запуске из программного кода он занимает 40 секунд.
А еще взяли код SQL, созданный C#, и запустили его в Management Studio, и это заняло 1 секунду.
Мы попробовали изменить предложения Where на различный все более сложный код, и все работает нормально, за исключением при использовании .Contains.
Помощь, пожалуйста?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ns-is-much
Мобильная версия