Замедление может происходить из следующих источников:
- база данных
- сервер приложений
- приложение
- сеть на стороне сервера
- размер ответа
- подключение к Интернету
- браузер
База данных
Вам нужно будет запустить запрос, сгенерированный LINQ, непосредственно в базе данных.Если это медленно, то у вас есть проблема производительности на уровне базы данных.В этом случае вам нужно взглянуть на схему базы данных, размер участвующих таблиц и сам запрос.Очевидно, что у вас есть фильтр по Sector
.У вас есть индекс по этому полю?Если нет, это не мешало бы создать его.Это увеличит скорость операций чтения, но уменьшит скорость операций записи из-за того, что индекс будет рассчитываться.Тем не менее, чтения обычно гораздо чаще, чем записи.Посмотрите также на загружаемые столбцы.Является ли какой-либо из столбцов, содержащих длинные тексты больших данных?
Сервер приложений
Ваш IIS настроен для последовательной обработки запросов?Другие сайты работают на том же сервере?
Приложение
Вам нужно будет установить точку останова, чтобы убедиться, что эта операция действительно занимает много времени.Если это так, то это, скорее всего, проблема с базой данных, но не обязательно.Если, например, вы выполняете это много времени, с.Если это не так медленно, как вы думаете, медлительность может происходить из другого места в приложении.Возможно, другой запрос, или, если вы выполняете этот запрос много раз, вам может потребоваться изменить запрос для загрузки пакетов данных.
Сеть на стороне сервера
Возможно, вы захотите проверитьсторона сетевого сервера.Если сообщение в целом медленно поступает с маршрутизатора на сервер и обратно, то это может быть и причиной вашего конкретного случая.
Размер ответа
Возможно, что take
очень большой или у вас длинный текст в каждой строке, и загрузка данных занимает много времени.В этом случае вы можете отправить первые 10 результатов изначально и загрузить остальные, пока пользователь просматривает первые 10.
Интернет-соединение
Если интернет-соединение на вашем сервере или на вашем сервере оченьмедленно, это также может быть не связано с программированием вашей проблемы.
Браузер
Вы добавляете данные через jquery.Если вы замените это на console.log('foo');
, улучшится ли производительность?В этом случае ваша структура может быть очень сложной с большим количеством событий, в результате чего ваш браузер будет загружать вещи вечно.