Я запрашиваю базу данных sql, которая находится в Azure (на самом деле мое веб-приложение также работает на Azure).Запрос LINQ для базы данных базы данных Azure SQL
Каждый раз, когда я выполняю этот конкретный запрос, происходят постоянно изменяющиеся ошибки (например, иногда происходит тайм-аут, иногда он отлично работает, иногда требуется очень много времени для загрузки).
Я заметил, что я использую метод ToList здесь для перечисления запроса, но я подозреваю, что именно поэтому он унижает.
В любом случае я могу исправить это или сделать его лучше .... или просто использовать собственный SQL для выполнения моего запроса?.
Я также должен отметить, что мой веб-интерфейс для моего подключения к базе данных установлен в 30 секунд. Будет ли это иметь какое-либо преимущество в производительности?
Я помещаю подозрительный код здесь:
case null:
lstQueryEvents = db.vwTimelines.Where(s => s.UserID == UserId)
.Where(s => s.blnHide == false)
.Where(s => s.strEmailAddress.Contains(strSearch) || s.strDisplayName.Contains(strSearch) || s.strSubject.Contains(strSearch))
.OrderByDescending(s => s.LatestEventTime)
.Take(intNumRecords)
.ToList();
break;
Это в основном запрашивая 50 записей ... Я не понимаю, почему это таймаут иногда.
Try разжиться заявление SQL, который запускается на выполнение и запустить его, хотя в SQL Profiler. Я подозреваю, что '.Contains()' call force table scans, поэтому срок выполнения запроса. –